831 Visite

Come sviluppatore con progetti personali, raramente mi impegno a lasciare un sacco di soldi per le mie idee per animali domestici. Preferisco hackerare qualcosa insieme piuttosto che pagare uno strumento per ridurre il mio tempo di sviluppo. Come rischio di costo, considero il tempo meno prezioso della mia offerta limitata di fondi discrezionali, cioè fino a quando la mia app lato non ha un grande successo e io rastrello miliardi. Ma se non sei come me e cerchi soluzioni robuste per modernizzare i sistemi legacy o creare app scalabili interne o rivolte al cliente nel momento giusto per il mercato, allora ti consiglio di passare al mio cellulare multipiattaforma guida allo sviluppo per le imprese subito.

In caso contrario, questo elenco include strumenti di sviluppo di app mobili open-source e gratuiti multipiattaforma che qualsiasi sviluppatore può utilizzare immediatamente.

Nota: alcuni degli strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti sono disponibili anche come piani a pagamento, ma tutti forniscono un uso di produzione gratuito e illimitato.

Nota: alcuni degli strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti sono disponibili anche come piani a pagamento, ma tutti forniscono un uso di produzione gratuito e illimitato.

1. Apache Cordova

free cross-platform mobile application development tools - Cordova

Apache Cordova è al primo posto in questo elenco perché alimenta il processo di compilazione per la maggior parte degli strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti, e molti che non sono gratuiti, se è per questo .Precedentemente noto come PhoneGap, Adobe ha rilasciato Cordova come progetto open source che, al momento della stesura di questo documento, ha ricevuto contributi da BlackBerry, Google, IBM, Intel e Microsoft.

La maggior parte degli strumenti di sviluppo di applicazioni mobili multipiattaforma presenti in questo elenco, sia gratuiti che a pagamento, utilizza Cordova per il package di un singolo codebase in un eseguibile nativo. Cordova innanzitutto raggruppa HTML, CSS e JavaScript in un pacchetto lato client. Quindi, il software esegue e restituisce il codice personalizzato all’interno di una WebView nativa, nota come tecnica di applicazione “ibrida”. L’approccio ibrido fornisce una soluzione Write-Once-Run-Anywhere (WORA).

Il termine WebView si riferisce a un elemento di interfaccia nativo che consente agli sviluppatori mobili di visualizzare il contenuto Web nella loro applicazione. Nello sviluppo web, usiamo Iframes;nello sviluppo mobile, WebViews.

Con il wrapping del codice Web in un pacchetto Cordova nativo, Cordova può fornire l’accesso alle API native. E incorporando plug-in creati dalla community, le app possono connettersi a qualsiasi numero di tali API utilizzando il semplice JavaScript.

Pro: tagliando l’intermediario. Lavorando direttamente su Cordova, gli sviluppatori hanno accesso agli ultimi aggiornamenti dal team di Apache. Con ciascuna versione, Cordova ottiene l’accesso a miglioramenti critici del sistema operativo. Questi miglioramenti possono migliorare le prestazioni di Cordova e fornirgli l’accesso a nuove API. Costruisci proprio sopra Cordova e non ti perderai mai.

Contro: Cordova è UI e agnostico del framework. Lascia tutte le decisioni di progettazione e architettura allo sviluppatore. Questo potrebbe non essere un problema se prima hai creato siti web per dispositivi mobili. Ma se è la prima volta che lavori su un’applicazione mobile, prendi in considerazione un framework che mantenga un po ‘più di mano. E secondo il sondaggio degli sviluppatori di StackOverflow, gli sviluppatori temono di lavorare con Cordova sopra tutti gli altri .

2. Adobe PhoneGap

free cross-platform mobile application development tools Adobe PhoneGap

Sì, il prodotto PhoneGap effettivo è separato da Apache Cordova. Come detto sopra, PhoneGap era all’origine la base per Cordova, ma ora è un prodotto standalone alimentato da Cordova-volte sono un cambiamento “. Il vantaggio principale che Adobe offre con PhoneGap è un sistema di costruzione GUI che astrae il caos della riga di comando di Apache Cordova.

Fornendo un’interfaccia per creare applicazioni Cordova, PhoneGap semplifica il processo e consente agli sviluppatori di lavorare prima. PhoneGap offre anche un server applicazioni che puoi eseguire dalla tua macchina per ospitare le tue app sulla rete. Il server accelera la build → run → revise loop in modo che gli sviluppatori possano dedicare più tempo alla codifica e meno tempo a eseguire, compilare e distribuire gli aggiornamenti manuali.

Pro: Semplifica Apache Cordova fornendo un sistema di costruzione GUI e progetti di modelli per aiutare a dare il via allo sviluppo ibrido (uno di questi modelli include un altro strumento su questo elenco, Framework 7). PhoneGap ha anche il supporto continuo di Adobe e centinaia di sviluppatori open source.

Contro: PhoneGap non ha una forte opinione su come creare applicazioni. Quindi, mentre semplifica Cordova, non ti terrà la mano molto più lontano.

Hmm: PhoneGap, mentre è sottile, ha un profilo di codice che si trova sopra Cordova.Alcuni sviluppatori si lamentano che questo si traduce in prestazioni delle applicazioni scadenti. I meriti di questa denuncia sono difficili da valutare. Credo che i problemi di prestazioni derivino principalmente dalle applicazioni specifiche, non dal framework stesso.

3. Quadro ionico

free cross-platform mobile application development tools - ionic

Nella sezione precedente, ho rivelato che PhoneGap è uno strato sottile sopra Apache Cordova che migliora l’esperienza di sviluppo ibrido senza forzare un paradigma dell’applicazione o una struttura nello sviluppatore. Per uno strumento simile ma più supponente che fornisce un’esperienza di sviluppo eccellente, si consideri il Framework Ionic .

Ionic combina Angular con la propria libreria UI per fornire un’esperienza di sviluppo di applicazioni mobile multipiattaforma che molti sviluppatori Web troveranno familiare.Trovano così familiare, infatti, che Ionic è diventato sinonimo di sviluppo ibrido multipiattaforma. Più che di PhoneGap, in realtà. Tuttavia, il processo di costruzione mobile di Ionic si basa su PhoneGap e pertanto eredita anche tutti i plug-in di Apache Cordova.

Pro: Ionic è la soluzione ibrida multipiattaforma prevalente al mondo perché consente agli sviluppatori Web di continuare a utilizzare il framework di front-end che molti di loro conoscono: Angular. Incorporando Angular nel loro framework, Ionic facilita la transizione dallo sviluppo web a quello mobile. Ionic supporta anche le applicazioni Web progressive eseguite in Chrome e le applicazioni desktop ibride abilitate da Electron.

Contro: alle attuali strutture di prezzo, gli sviluppatori sul piano gratuito di Kickstarter di Ionic sono limitati ai build di sviluppo. E le build di sviluppo sono limitate al debug sul proprio dispositivo: non è possibile implementare build di sviluppo su App Store. Per pubblicare le loro applicazioni, gli sviluppatori devono aggiornare il loro abbonamento.

4. Quadro 7

free cross-platform mobile application development tools - framework 7

Framework7 è un altro degli strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti basati su Apache Cordova. Framework7 fornisce un framework di applicazione (basato su Vue.js) e una serie di elementi di interfaccia pronti che simulano interfacce native. Questo strumento ricrea i design iOS standard e i modelli di Material Design di Google per replicare l’aspetto “nativo” che gli utenti di dispositivi mobili si aspettano. Ecco un esempio di come Framework7 aiuta gli sviluppatori a fare copie in carbonio di progetti iOS:

a video thumbnail

Framework7 consente inoltre agli sviluppatori di personalizzare l’interfaccia: questi temi incorporati sono solo linee guida che possono ridurre i tempi di sviluppo.

Pro: Framework7 aggiunge due livelli critici alla struttura dell’applicazione Cordova e agli elementi dell’interfaccia. Se sei disposto a sacrificare un piccolo controllo, acquisirai un sacco di funzionalità out-of-the-box con Framework7. Queste funzionalità accelerano il ciclo di sviluppo rispetto al lavoro diretto con Cordova.

Contro: Questo è un progetto open source e uno recente, a questo. Non vi è alcuna garanzia che la comunità Framework7 rimarrà attiva e incorporerà costantemente gli ultimi progetti di Cupertino e Mountain View, lasciando potenzialmente le applicazioni non aggiornate. Framework7 è anche altamente motivato. Se non sei un fan di Vue o non sei disposto a imparare, dovrai cercare un altro strumento.

5. Apache Weex

free cross-platform mobile application development tools - Apache Weex

Sì, questo è un altro degli strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti sponsorizzati da Apache. Gli sviluppatori di Weex hanno combinato l’idea alla base di Cordova con un interprete JavaScript runtime. Il loro strumento genera esperienze native da un singolo codice sorgente mentre Cordova esegue JavaScript e rende HTML in una WebView. Weex interpreta l’HTML e lo rende dinamicamente utilizzando gli elementi di visualizzazione nativi.

Come Framework7, Weex fornisce componenti dell’interfaccia utente immediatamente disponibili. Ma questi elementi si traducono nelle controparti native durante l’interpretazione, aumentando notevolmente le prestazioni. E come Cordova, Weex ha una forte comunità di sviluppatori indipendenti che contribuiscono con nuovi plug-in di design e interfaccia per mantenere la piattaforma attuale.

Pro: prestazioni. Weex eseguirà applicazioni JavaScript a velocità quasi native. E gli utenti troveranno difficile distinguere un’applicazione Weex da quella nativa: entrambi utilizzano elementi dell’interfaccia utente nativa mentre le applicazioni ibride (basate su WebView) rendono direttamente HTML e CSS.

Contro: Diversamente da Cordova, Weex non è completamente approvato da Apache Software Foundation. Attualmente è un progetto di incubazione. E gli sviluppatori non saranno in grado di portare app scritte su Weex su altre piattaforme. Quindi, se Weex non riesce ad acquisire approvazione, gli sviluppatori potrebbero essere costretti a riscrivere una parte considerevole delle loro app in futuro.

6. Reagire nativo

free cross-platform mobile application development tools - react native

Mentre Weex fa affidamento su Vue come framework applicativo principale, React Nativeeredita da React stesso. Se hai familiarità con la creazione di applicazioni Web in React, l’adozione di React Native per il tuo sviluppo mobile è un gioco da ragazzi. E come Weex, React Native interpreta il tuo codice sorgente e lo converte in elementi nativi al volo. Ma se si tratta di un rigetto tra questo e altri framework JavaScript-to-native, considerate la popolarità di React Native.

React Native è senza dubbio la piattaforma più popolare tra JavaScript e nativo. Lo strumento deve la sua popolarità al suo famoso fondatore: Facebook. Entrambe le applicazioni native di Facebook e Instagram sono realizzate con React Native. Se due delle applicazioni più utilizzate al mondo possono fidarsi di questo framework, puoi farlo anche tu.

Pro: React Native è testato in battaglia. Facebook e Instagram hanno milioni di utenti attivi ogni giorno, e quegli utenti richiedono prestazioni. E finché questi prodotti si basano su React Native, gli sviluppatori possono aspettarsi che gli ingegneri di Facebook aggiornino regolarmente questo framework. E proprio come Weex e altre piattaforme JavaScript-to-Native, React Native offre un vantaggio sulle prestazioni rispetto alle soluzioni ibride.

Contro: Se non ti piace lavorare con React, non aspettarti che React Native cambi idea. E rispetto agli strumenti precedenti in questo elenco, React Native non è una soluzione WORA. Questo potrebbe non essere un problema per tutti, ma React Native richiede che gli sviluppatori personalizzino ciascuna implementazione dell’interfaccia sulla sua piattaforma mirata. Ciò significa che creerai sia una versione Android che una versione iOS di ogni schermo ed elemento. E nonostante faccia affidamento su tecnologie web come JavaScript, l’interfaccia è un mix di linguaggio di markup personalizzato e interfaccia utente nativa. Pertanto, gli sviluppatori non possono utilizzare le librerie CSS esistenti oi plugin jQuery.

7. NativeScript

free cross-platform mobile application development tools - NativeScript

NativeScript è il concorrente diretto di React Native. Supportato da una grande organizzazione (Progress) e utilizzato dai veterani del settore (SAP), NativeScript offre un’esperienza di sviluppo cross-platform simile al suo rivale sostenuto da Facebook, ma ricorda l’approccio dello Ionic Framework allo sviluppo. Come React Native, NativeScript compila la tua applicazione JavaScript per un’esperienza mobile nativa. Al centro, promuove Angular 2 come framework applicativo, ma gli sviluppatori possono disattivare e utilizzare JavaScript standard con le API NativeScript.

NativeScript consente inoltre agli sviluppatori di comprendere il prodotto finale fornendo applicazioni di dimostrazione dell’interfaccia per Android e iOS. Entrambe le applicazioni sono state generate da un singolo codebase, dimostrando che NativeScript è una soluzione WORA in grado di raggiungere alte prestazioni su entrambe le piattaforme.

Pro: NativeScript offre le stesse prestazioni rispetto alle soluzioni ibride creando applicazioni native da JavaScript. Le aziende di livello enterprise supportano e utilizzano NativeScript nelle proprie applicazioni, quindi rimarrà inutilizzato per un po ‘. NativeScript si integra anche direttamente con Gradle e CocoaPods, consentendo così agli sviluppatori di incorporare librerie native Swift, Objective-C e Java nei loro progetti NativeScript.

Contro: Rispetto a React Native, le applicazioni NativeScript non hanno subito l’ondata di utenti giornalieri che bombardano i loro front-end mobili. Non è possibile puntare a una singola applicazione creata su questo strumento a cui milioni di utenti accedono ogni ora (come Facebook con React Native). Se si prevede che la propria applicazione possa ricevere traffico immenso, non esiste alcun case study che convalidi NativeScript come un’opzione praticabile tra gli strumenti gratuiti per applicazioni mobili multipiattaforma disponibili (ma potresti essere il primo!). E come React Native, NativeScript utilizza un markup personalizzato per progettare le sue interfacce, nessun CSS3 o HTML5.

8. Flutter

free cross-platform mobile application development tools - flutter

Faremo una leggera svolta a sinistra per parlare di Flutter . Flutter è la risposta di Google al problema di Google: “continuiamo a creare applicazioni iOS e Android per ogni prodotto mobile; è fastidioso. “Non è una citazione vera, ma piuttosto un sentimento che almeno un googler ha certamente espresso. Flutter si compila in codice nativo, ma richiede qualcosa di diverso da JavaScript: Dart. La scelta confondente di Google di Dart su JavaScript diventa prevedibile quando si impara che Dart è stato inventato su Google per sostituire JavaScript.

Flutter non solo rafforza lo stesso linguaggio di programmazione di Google, ma rimane anche intimamente legato a un altro prodotto Google: Material Design. Se sei disposto a fare le cose con Google, raccoglierai i frutti. Flutter è l’unica soluzione multi-piattaforma open-source supportata da una società che gestisce anche una piattaforma mobile di grandi dimensioni. Apple non ha questo prodotto e lo strumento Xamarin di Microsoft è meno permissivo.

Vantaggi: un numero non zero delle applicazioni mobili di Google è basato su Flutter. E se Flutter è abbastanza buono per il re aziendale del mobile, probabilmente è abbastanza buono per te. Il linguaggio Dart e il suo runtime mobile si avvicinano alle velocità di esecuzione native; Google non accontentarsi di meno. Inoltre, utilizzando gli strumenti di Google, puoi creare un’app che risulti familiare per le persone che utilizzano Gmail, Google Maps e altre applicazioni che incorporano Material Design.

Contro: Flutter è un prodotto alfa. E con un panorama mobile fluttuante, non c’è alcuna garanzia che raggiungerà la versione uno o che Google continuerà a supportarlo ( anche se prove aneddotiche suggeriscono che lo faranno ). Inoltre, molti sviluppatori non hanno familiarità con Dart, quindi Flutter viene fornito in bundle con una lingua che potresti dover imparare prima di iniziare. E mentre Flutter consente widget e stili personalizzati, rimane pesantemente sbilanciato verso Material Design.

9. Jasonette

free cross-platform mobile application development tools - jasonette

Abbiamo girato a sinistra in questo elenco di strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti con Flutter, ma ora faremo un’inversione nello spazio con Jasonette . Se sei uno sviluppatore web, hai familiarità con il rendering lato server. Tale processo genera il markup sul server e il browser scarica la pagina completata direttamente dal cloud. Jasonette funziona in modo simile: il tuo server fornisce un file JSON per ogni schermo mobile con cui l’utente interagisce.

Sul lato client, Jasonette esegue il rendering di questo file utilizzando componenti mobili nativi. Con Jasonette, non esiste un runtime intermedio che esegua JavaScript, Dart o qualsiasi altra lingua non nativa. L’unico sovraccarico in un’applicazione Jasonette è il recupero e l’analisi dei layout JSON. Se si prevede di costruire un’applicazione mobile stateless, non si dispone di un’opzione multipiattaforma superiore a Jasonette. E Jasonette fornisce azioni dell’utente che possono fare richieste di rete e disegnare risultati senza rendering aggiuntivo lato server.

Pro: Jasonette è il più originale possibile: sia i layout che la logica utilizzano le API e i runtime del dispositivo. E questo framework basato su JSON può ridurre significativamente le dimensioni della base di codice mobile.

Contro: per applicazioni non statiche, l’implementazione lato server richiede funzionalità aggiuntive per rispondere con JSON in stile Jasonette. E il supporto di Jasonette per la logica incorporata assomiglia a qualcosa del genere:

Che unisce logica e layout in un mostro grottesco e non verificabile. Per i team di grandi dimensioni, un’applicazione basata su Jasonette potrebbe essere troppo indisciplinata da mantenere.

10. Collettore

free cross-platform mobile application development tools - manifoldjs

Se hai esperienza di lavoro su siti web reattivi, con targeting per dispositivi mobili o se hai già un sito web mobile funzionante, ManifoldJS potrebbe essere la soluzione per te. A differenza di altri strumenti di sviluppo di applicazioni mobili multipiattaforma gratuiti su questo elenco, Manifold non aiuta il processo di sviluppo mobile in alcun modo sostanziale. Tutto ciò che fa è racchiudere un’applicazione web ospitata esistente con un contenitore nativo.

Con un comando come questo,

  manifoldjs https://my-website.com -p android

Manifold trasforma la tua applicazione web in un pacchetto nativo che puoi inviare a Google Play. Sotto il cofano, Manifold utilizza Crosswalk Project per fornire prestazioni e funzionalità WebView coerenti su tutte le piattaforme mobili (come la maggior parte degli strumenti ibridi in questo elenco). Quindi, se preferisci costruire un sito mobile o ne hai già uno che ha semplicemente bisogno di un involucro nativo, Manifold è la tua scelta.

Vantaggi: Manifold è semplice da usare e può aiutarti a sfruttare appieno il sito mobile-first che hai già in esecuzione sul web. Con alcune modifiche, la tua app web funzionerà come una nativa in pochi secondi.

Contro: l’ accesso alle API native è complicato con molteplice, ma possibile. La preoccupazione più grande è la mancanza di una modalità offline. Manifold ha una “funzionalità offline “, ma mostra semplicemente una schermata iniziale agli utenti che tentano di accedere alla tua applicazione mentre è offline. Con Manifold, non c’è altra opzione. Quindi, se il comportamento offline personalizzato oi dati memorizzati nella cache sono un requisito per la tua applicazione mobile, guarda altrove.

[ecko_annotated header=”Conclusioni” annotation=””]Per quanto mi riguarda sono uno sviluppatore molto pigro, di solito sviluppo software web già Responsive e funzionante completamente, quindi trovo più semplice usare il sistema numero 10. Voi che tipo di sviluppatori siete ?[/ecko_annotated]


Leave a Reply

Your email address will not be published. Required fields are marked *