5 strumenti per accelerare lo sviluppo delle applicazioni

Condividi questo articolo:


La creazione di un’app è un processo costoso e intensivo, sia in termini di tempo che di risorse finanziarie. A volte non si ha il budget per costruire un’app costosa, oppure è necessario arrivare rapidamente sul mercato per cogliere un’opportunità. È necessario tagliare le funzioni dell’app o cercare altrove per accelerare il processo di sviluppo dell’app?
In questo articolo daremo un’occhiata a 5 diversi strumenti che potete utilizzare per accelerare il vostro processo di sviluppo delle app. E questo riduce entrambi i modi: potete ridurre il costo di costruzione di un’app, e allo stesso tempo rilasciare l’app più velocemente.
La maggior parte degli strumenti che controlleremo vi aiuteranno anche a velocizzare le iterazioni del vostro progetto. Prendete fastlane, ad esempio, che automatizza le attività di distribuzione manuale delle app, in modo da poter abbreviare il ciclo di rilascio e dedicare più tempo alla correzione dei bug e all’implementazione delle funzionalità.

Immergiamoci!

Parse Server

Il primo strumento a cui daremo un’occhiata è Parse Server. Si tratta di un back-end cloud open source, con una tonnellata di servizi aggiuntivi come database, notifiche push, archiviazione dei file e gestione degli utenti.

Ecco come funziona:

Creare un’istanza di Parse Server su una popolare Platform-as-a-Service (PaaS) come Heroku
Collegate la vostra istanza di Parse Server ad un popolare Database-as-a-Service (DaaS) come mLab
Integrate la vostra app con la vostra nuova istanza di Parse Server e iniziate a utilizzare alcuni dei suoi strumenti

Ora avete a disposizione un servizio completo di back-end basato sul cloud.

Parse Server è la reincarnazione del defunto servizio Parse.com, che si è spento all’inizio del 2017. Invece di fornire un servizio “fai per te” come Parse.com, Parse Server ti permette di creare il tuo back-end personalizzato basato sul cloud.

E’ open source, ed è possibile impostare la propria istanza di Parse Server su una serie di fornitori di infrastrutture, come AWS, Heroku, Google App Engine, Azure e Digital Ocean.
Parse Server si connette con una serie di strumenti di back-end utili per gli sviluppatori di app, come le notifiche push e la memorizzazione dei file. Per ognuno di questi servizi avrete probabilmente bisogno di un altro fornitore di servizi, come Amazon S3 o OneSignal. E anche se questi strumenti sono fantastici, la necessità di diversi fornitori di servizi può complicare i vostri sforzi di configurazione e manutenzione. Parse Server semplicemente non è così all-in-one come le altre piattaforme.

Una grande caratteristica di Parse Server sono le funzioni Cloud. Con JavaScript è possibile codificare semplici attività che vengono eseguite ogni volta che un evento in Parse Server viene attivato, come il caricamento di un file o la memorizzazione di un oggetto del database.
Supponiamo di avere un’applicazione per la raccomandazione di film, come IMDB. Quando un utente crea una recensione di un film, può agganciarsi a quell’evento con scripting lato server, e inviare una notifica push ai seguaci di quell’utente per notificare loro la nuova recensione.
Con Parse Server, gli sviluppatori di app dedicano meno tempo alla costruzione di servizi di back-end e alla manutenzione dei server web, e più tempo alla costruzione di app e funzionalità. È scalabile, conveniente, relativamente facile da mantenere, personalizzabile, e viene fornito con una tonnellata di utili strumenti integrati.

Pro

  • Supporta una tonnellata di piattaforme, tra cui l’internet degli oggetti
  • Eccellente documentazione e codice di esempio
  • Comunità open source attiva

Contro

  • Richiede una piattaforma separata per funzionare, come Heroku
  • Le opzioni di scalabilità dipendono dall’infrastruttura
  • Non è tutto in uno

Prezzi

  • Open source e gratuito, ma avrete bisogno di infrastrutture come Heroku per eseguire Parse Server. Una semplice configurazione inizia a circa 20 dollari al mese.

Piattaforme

iOS, macOS, tvOS, Android, JavaScript, React, .NET, Unity, PHP, Arduino, Embedded C

Fastlane

fastlane è uno strumento che si concentra sull’integrazione continua e sulla diffusione continua (CI/CD). È un modo di dire fantasioso: ogni volta che si crea una nuova versione dell’applicazione, questa viene automaticamente spinta e pubblicata agli utenti finali o ai beta tester. fastlane supporta il vostro flusso di lavoro con strumenti e processi automatizzati.

Immaginate di aver creato un’app e di aver appena rilasciato la versione 1.0 sull’App Store. Un paio di settimane dopo hai trovato e corretto alcuni bug e hai implementato una nuova funzionalità dell’app. Volete distribuire la versione 1.1 migliorata della vostra app ai beta tester, e successivamente distribuirla a tutti gli utenti.

Ecco cosa farete:

  • Crei una nuova build e la pubblichi su App Store Connect
  • Si creano manualmente nuove schermate di app per ogni modello di dispositivo
  • Aggiorna i metadati, gli screenshot, ecc. della tua app.
  • Si spinge la build beta ai tester con TestFlight

In qualità di sviluppatore di una sola persona, questo è gestibile. Ma immaginate di lavorare in un team distribuito. E stai lavorando su più versioni di app alla volta – la versione attuale, con correzioni, e la “2.0” con nuove funzionalità. Oppure state spingendo fuori gli aggiornamenti delle app ogni una o due settimane.

Vedrete che la distribuzione della vostra app, e i suoi compiti manuali, possono richiedere un bel po’ di tempo! Ci deve essere un modo per velocizzare e automatizzare questo processo…
E’ qui che entra in gioco Fastlane. Mentre la app di tutti sono bloccati tra QA e lo sviluppatore principale che è in vacanza, la tua app sta accelerando nella fastlane.

Ecco cosa fa fastlane:

  • Automatizza la creazione di screenshot delle app, per più modelli di dispositivi e lingue
  • Automatizzare la distribuzione delle build beta delle app, come l’impostazione della versione di build, la gestione della firma del codice, il caricamento dell’app e la registrazione delle modifiche dell’app
  • Automatizzare il flusso di lavoro di pubblicazione dell’app, come l’impostazione dei metadati, il caricamento delle schermate e l’invio dell’app per la revisione
  • Automatizzare la firma del codice nel vostro team, cioè condividere privatamente le chiavi di sviluppo e i certificati tra gli sviluppatori del vostro team

In sostanza, fastlane consiste in una serie di azioni, come il caricamento della vostra app, e flussi di lavoro che collegano più azioni. Ognuna di queste azioni è gestita da uno script, il che significa che è possibile personalizzarle come meglio credete. E fastlane si integra con i più popolari strumenti CI/CD, come CircleCI, Jenkins e Travis CI.

E il migliore di tutti? È open source! Ciò significa che gli sviluppatori possono contribuire allo strumento, e costruire le proprie azioni e i propri plugin. Ogni strumento fastlane è ampiamente documentato, compresi gli esempi e le migliori pratiche, il che lo rende un must-have nella cassetta degli attrezzi di ogni sviluppatore di applicazioni.

Pro

Ti fa risparmiare un sacco di tempo
Automatizza i compiti noiosi
Evitare gli errori facendo meno manualmente

Contro

Ci vuole un po’ di sforzo per allestire
Sovraccarico per gli sviluppatori unici o per le costruzioni poco frequenti

Prezzi

Libero e open source!

Piattaforme

iOS e Android

App Design Templates

Il design della tua app è importante, punto. All’interno delle classifiche dell’App Store vedrai costantemente le app ben progettate classificarsi meglio di quelle equivalenti e mal progettate.
Gli utenti delle vostre app hanno più che mai a cuore una buona esperienza utente. Noi installiamo meno app e passiamo più tempo nelle app che conosciamo. Da un lato, gli utenti sono meno disposti a correre rischi con un’app che non conoscono. Dall’altro lato, gli sviluppatori di app hanno l’opportunità di distinguersi con un design impeccabile, UI/UX e branding.

Suona bene, vero? Beh, non così veloce! Progettare una app da zero richiede un sacco di tempo, denaro e risorse. Forse il vostro designer interno non ha molta esperienza nella progettazione di app mobili, o il budget per il vostro prototipo di app snello e mediocre rappresentava solo un modesto progetto grafico.

È qui che entra in gioco un modello di design. Un modello di design non è altro che una grafica già pronta per la vostra app. Potete adottare componenti e stili che vi piacciono, o semplicemente copiare e incollare l’intero design grafico.

Alcuni dei nostri modelli di design preferiti includono:

  • ORA, TETHR e DO by InVision
  • iOS 11 iPhone GUI di Facebook
  • Stark UI kit di Baianat
  • Punto di Lina Seleznyova
  • Phoenix di Adrian Chiran
  • Applicare i pixel di Michael Flarup

Molti modelli di design sono realizzati appositamente per alcuni tipi di applicazioni, come le applicazioni sociali, di produttività o di e-commerce. È possibile utilizzare questi modelli di design grafico anche per creare dei mockup della vostra app.
È possibile utilizzare il modello GUI di Facebook iOS per creare un mockup 1 su 1 della vostra app, utilizzando il layout e i componenti di default di iOS. I modelli di Apply Pixels vi aiutano a progettare cose come l’icona della vostra app e lo screenshot, e vi mostrano anche come appaiono sulla vostra pagina App Store.

Quando usate un modello di design, assicuratevi di controllarne la licenza e le condizioni d’uso. Un modello di design di un’app può essere liberamente disponibile, ma ciò non significa automaticamente che puoi utilizzarlo, modificarlo o farne pagare il costo. L’opera originale è sempre protetta da copyright del suo creatore, quindi in caso di dubbio non usatela o chiedete il permesso esplicito.

Pro

  • Risparmia un sacco di tempo e denaro
  • Conveniente e spesso di alta qualità
  • La maggior parte dei modelli sono personalizzabili

Contro

  • Ci vuole tempo per personalizzare
  • Ci vuole tempo per trovare quello che ti serve
  • Le opzioni di licenza non sono sempre chiare

Prezzi

Libero/Pagato

Piattaforme

Qualsiasi

PaintCode

La prima volta che vedrete PaintCode fare il suo lavoro, penserete che sia magico! È uno strumento semplice ed efficace, e fa una cosa molto bene: generare codice di programmazione per i componenti dell’interfaccia grafica.

Ecco come funziona:

Si progetta un componente di interfaccia utente, come un pulsante, visivamente in PaintCode
PaintCode genera il suo codice Swift, Objective-C, Java, C#, JavaScript o SVG
Si utilizza il codice nella propria app e il componente UI appare sullo schermo
Tradizionalmente, uno sviluppatore scrive il codice a mano. Viene creato un pulsante, il suo colore, il testo e i bordi vengono impostati e il pulsante viene visualizzato nell’applicazione. Si tratta di un semplice componente UI, quindi immaginate quanto tempo ci vuole quando i componenti diventano più complessi.

Gli sviluppatori e i progettisti spesso devono mediare tra i desideri del progettista e il grado in cui uno sviluppatore può ricreare quei progetti in codice. Con PaintCode, un progettista può creare componenti di interfaccia utente dall’aspetto superbo, e vedere quei progetti prendere vita nell’applicazione. Pixel-perfetti, con zero avanti e indietro, e nessun “Oh no, non posso fare COSÌ” da parte degli sviluppatori.

PaintCode esporta i suoi disegni in un unico file, in modo da poter semplicemente reimportare quel file ogni volta che i componenti dell’interfaccia utente vengono aggiornati. È anche possibile utilizzare variabili parametriche ed espressioni, ad esempio per aggiornare l’ombreggiatura dei colori ad un nuovo schema di colori in una sola volta

.
E diventa ancora meglio… PaintCode ha un plugin per Sketch, un popolare strumento di progettazione grafica. Con il plugin, è possibile esportare direttamente i disegni di Sketch in Swift o Objective-C. Così non è necessario ricreare i disegni in PaintCode, ma esportarli direttamente da Sketch!

PaintCode viene fornito con una tonnellata di tutorial, documentazione ben scritta e supporto reattivo.

Pro

Risparmiare tempo e andare avanti e indietro
Flessibile e personalizzabile
Supporta le 4 principali piattaforme di applicazioni

Contro

Competenza nella progettazione e nello sviluppo
Alcuni sviluppatori non amano il codice generato
Supporto limitato per il flusso di lavoro orientato al costruttore di interfacce

Prezzi

Prova gratuita, 99 dollari all’anno per un team di 1-3 persone

Piattaforme

iOS, macOS, Android e il web

Awesome iOS and Android

 

Non è tecnicamente uno strumento, ma una risorsa. Ed è una risorsa che vale la pena condividere! Awesome è un elenco di risorse, framework, librerie, corsi, libri, blog, podcast, strumenti e modelli per lo sviluppo di applicazioni. Una semplice ricerca su GitHub mostra che ci sono liste fantastiche per praticamente qualsiasi cosa, da iOS a Swift, da Android a JavaScript.

  • Le nostre liste fantastiche preferite sono:
  • Awesome iOS di Vinicius Souza
  • Fantastico Android di Jürgen Stumpp

Elenco delle liste fantastiche di Sindre Sorhus

Semplicemente si costruiscono più velocemente applicazioni migliori e più redditizie stando sulle spalle dei giganti. Perché reinventare la ruota se si può costruire su strumenti già pronti?
Ricordatevi sempre di scoprire e capire come funzionano questi strumenti all’interno. Un modello di app accelera lo sviluppo ora, ma al di là della fase di bootstrapping, investire in un graphic designer paga dei dividendi.

Costruire su un servizio di back-end basato su cloud è conveniente, ma in alcuni casi è più intelligente costruire il proprio servizio web. Lo sviluppatore più saggio sa quando usare quale strumento, e ha una serie diversificata di strumenti nel suo toolkit.

Detto questo – non trattenetevi. Come abbiamo visto, un processo di sviluppo rapido e intelligente ha un sacco di vantaggi!


Per ulteriori informazioni visita il sito: immagi.net

Condividi questo articolo: