Negli ultimi anni la domanda di applicazioni mobile è cresciuta in modo esponenziale e l’offerta di sviluppatori nativi non è in grado di coprire la domanda di app del mercato. Data questa situazione, è nato Re dell'app, una piattaforma open source che ti consente di creare facilmente applicazioni mobili. Xavier Barata, il suo CEO, ci racconta di cosa si tratta, come è nato e quali tecnologie vengono utilizzate in King Of App.
1. Cos'è King of App?
King Of App è il WordPress delle app, il primo sistema di gestione dei contenuti open source che consente a persone senza conoscenza della programmazione mobile nativa di creare app completamente personalizzabili. E le persone con conoscenze di programmazione web possono accedere al codice per la prima volta e modificare tutto ciò di cui hanno bisogno.
Abbiamo creato una tecnologia open source unica che è come un puzzle. Funziona con un motore comune che non necessita di essere programmato ogni volta e permette di collegare 3 tipi di parti:
– Servizi: ti aiutano a gestire la tua app, dandoti accesso ad analisi, servizi di accesso, notifiche push, pubblicità,….
– Modelli: ti consente di apportare modifiche al design della tua app.
– Moduli: ti consentono di inserire e visualizzare qualsiasi contenuto da qualsiasi fonte nella tua app.
2. Come è nata l'idea?
Tutti noi partner veniamo dal mondo della pubblicità, prima avevamo anche le nostre agenzie. Ogni volta che l'agenzia ci chiedeva dei preventivi per realizzare un'app venivamo rifiutati perché troppo costosi.
Tutti i nostri colleghi del settore avevano questo problema, oggi web designer e programmatori creano più di 50 milioni di siti web all'anno e gli sviluppatori di app ne creano solo 500 mila.
Ma i web designer e i programmatori non possono sviluppare app perché non hanno abbastanza conoscenze e dobbiamo finire per cercare sviluppatori nativi che sono saturi di così tanta domanda, motivo per cui i prezzi continuano a crescere.
Inoltre, tutti gli studi ci dicono che il mercato crescerà in modo esponenziale. Questo mercato si sta muovendo ogni anno più di $20B nel 2015 e tutte le previsioni dicono che crescerà sopra $70B nel 2017. Quindi pensiamo come si comporterà se gli sviluppatori nativi saranno saturi di così tanta domanda?
Di fronte a questo problema abbiamo cercato una soluzione negli Stati Uniti, così come nel 2006 abbiamo implementato Joomla e WordPress, ma non abbiamo trovato nulla di simile. Quindi a questo punto abbiamo deciso di svilupparlo noi stessi.
La nostra tecnologia consente ai web designer e ai programmatori di creare app con la stessa conoscenza con cui creano siti Web, dando loro accesso al mercato e risolvendo questo problema, poiché il costo medio per app è di 230 euro.
3. Qualsiasi utente può creare un'app o deve avere qualche conoscenza?
La nostra tecnologia è focalizzata sui professionisti, se è vero che non è necessario avere conoscenze di programmazione per poter realizzare un'app, il nostro vantaggio principale è che essendo Open source, chiunque abbia conoscenze di HTML, CSS o Javascript può approfondire personalizzare l'app. Allo stesso modo, se l'utente è uno sviluppatore avanzato, può integrare pezzi sviluppati con Polymer, React JS,...
4. Quanto tempo può richiedere la creazione completa di un'app?
Se hai già preparato il contenuto o lo importi da un CMS come WordPress, Joomla, Magento, Shopify, ecc. Il processo di sviluppo è molto veloce e in 10 minuti puoi avere un'app base con notifiche push, pubblicità o analisi attive e funzionante e pronto per essere inviato ai mercati.
Sebbene il livello di personalizzazione che ogni persona desidera per la propria app possa variare il tempo necessario per creare la propria app, a seconda della sua complessità.
5. Qual è la differenza fondamentale di King of App rispetto ad altre piattaforme di creazione di app?
Siamo la prima piattaforma Open Source, ovvero gli utenti possono accedere al codice per personalizzare ciò di cui hanno bisogno, oppure creare pezzi personalizzati e assemblarli.
Un'altra caratteristica legata all'Open Source è che la creazione di un'app è gratuita e non mettiamo alcun tipo di marchio King of app, e nel nostro Marketplace puoi trovare una maggiore varietà di modelli che puoi poi personalizzare dal codice se lo desideri e siamo la piattaforma con più moduli sul mercato.
Nel Marketplace puoi anche scegliere tra i fornitori di servizi in un solo clic, il fornitore di pubblicità che può ottenere il maggior ricavo o tra diversi servizi di notifica push, scegliendo il fornitore in base alle funzionalità o al prezzo.
6. Parlaci dello stack tecnologico di King of App: linguaggio di programmazione, database e integrazioni con altre piattaforme.
Il progetto è diviso in 4 parti diverse e ognuna di esse ha una funzionalità diversa e quindi uno stack diverso:
Il primo pezzo è il builder, si tratta di un'interfaccia utente che permette di configurare le applicazioni in modo semplice. Questa configurazione viene salvata in formato JSON per creare successivamente l'applicazione mobile. È codificato utilizzando AngularJS e SASS per gli stili.
Il secondo pezzo è il visualizzatore, è la pietra angolare del progetto. Dal file di configurazione genera le diverse visualizzazioni e comportamenti dell'applicazione mobile. Viene creato con AngularJS anche se consente di utilizzare moduli realizzati con Angular, Polymer o jQuery.
I terzi sono i KoApp Components, sono una serie di componenti HTML5 creati con Polymer che permettono di modificare l'estetica delle applicazioni in tempo reale.
Poiché le nostre applicazioni non hanno un backend definito, non abbiamo bisogno che i nostri moduli utilizzino un'infrastruttura definita. Tuttavia, per il nostro database utilizziamo MongoDB che può essere utilizzato tramite un'API Rest scritta in NodeJS.
L'infrastruttura è ospitata su Amazon AWS e utilizziamo servizi come S3 per archiviare i file, CloudFront per pubblicare tutti i file pubblici, SQS per il sistema di attività che utilizziamo per la compilazione automatica e molto altro.
7. Com'era la prima versione di King of App?
La prima versione era un sistema chiuso, in cui non esisteva il concetto di plugin. Ciò lo rendeva eccessivamente rigido e per niente personalizzabile. È stato costruito con Symfony2 (PHP) e MySQL.
8. Qual è stata la sfida tecnologica più importante che hai incontrato finora?
Il progetto in sé è stato una grande sfida a livello tecnologico, non potevo restare solo su una parte. Vorrei evidenziare:
- Creare un sistema di caricamento dei moduli asincrono e riutilizzabile in AngularJS che consenta anche l'utilizzo di altri framework.
- Avere un sistema di elementi di layout che si comportano dinamicamente.
- Proteggi una tecnologia frontend per ridurre al minimo le possibilità di saltare le licenze d'uso.
9. Qual è stato il più grande errore tecnologico che hai commesso?
Questo è qualcosa di cui non puoi mai essere sicuro, ma penso che lo sviluppo avrebbe potuto essere molto semplificato se avessimo utilizzato Angular2 per creare il caricamento asincrono dei moduli.
È anche vero che quando abbiamo avviato il progetto Angular2 era in una versione molto instabile.
10. Quali prossime pietre miliari dello sviluppo hai segnato?
Abbiamo appena raccolto 1,5 milioni che ci permettono di ampliare il team, cerchiamo persone per raggiungere un team di 25 persone. Aperti uffici a New York, per espandere il nostro brand nel mercato americano e crescere come comunità Open Source.