PDA

View Full Version : Linguaggio di programmazione per app Android e iOS


.Diablo.
25-06-2018, 19:55
Buonasera a tutti ragazzi :)

E' diverso tempo che ho un idea, che reputo innovativa e remunerativa, per la realizzazione di un app per ecosistema Android e iOS.
Non sapendo programmare ho tentato di trovare qualche programmatore disposto ad aiutarmi nella realizzazione del mio progetto di app.
Non avrei potuto offrire un compenso immediato per il lavoro svolto ma piuttosto guadagni sull'app stessa.
Purtroppo però, oltre a non conoscere nessun programmatore, la manciata di annunci che ho messo on line per trovarne qualcuno non hanno ricevuto alcuna attenzione.

Alla luce di questa disfatta ho deciso di rivolgermi a voi ragazzi ;)
Vorrei quindi chiedervi innanzitutto qual'è il linguaggio di programmazione che meglio si presta allo scopo, quali testi, tutorial, ecc dovrei consultare per impratichirmi ed assimilare le nozioni necessarie e vi chiederei anche, secondo voi, quanto ci potrebbe volere ad un completo pivello come me ad assimilare il linguaggio di programmazione quel tanto che basta per realizzare un app abbastanza complessa.

Un grazie anticipato a tutti coloro che avranno il tempo e la voglia di aiutarmi :)

pabloski
26-06-2018, 18:19
Vorrei quindi chiedervi innanzitutto qual'è il linguaggio di programmazione che meglio si presta allo scopo


Non è un problema tanto di linguaggio quanto di SDK e framework vari.

Può decidere di seguire il percorso nativo e quindi usare Java/Kotlin per Android e Swift/Objc per iOS.

Può decidere di seguire il percorso multipiattaforma e usare:

1. React native --> devi fare compromessi sulle prestazioni rispetto al caso nativo
2. Xamarin --> troppi bug rispetto ai concorrenti
3. Qt --> buono ma sulle licenze c'è un pelino di casino
4. Nativescript --> stesse considerazioni del punto 1
5. Flutter --> prodotto da Google, linguaggio Dart ( simile al Javascript ma fatto meglio ), prestazioni elevate ( su Android anche superiori a Java ), imho una scelta molto buona allo stato attuale delle cose



quali testi, tutorial, ecc dovrei consultare per impratichirmi ed assimilare le nozioni necessarie e vi chiederei anche, secondo voi, quanto ci potrebbe volere ad un completo pivello come me ad assimilare il linguaggio di programmazione quel tanto che basta per realizzare un app abbastanza complessa.


Il tuo problema è che non hai mai programmato, per cui non hai nè conoscenze su specifici linguaggi, nè su algoritmi e strutture dati, nè sul funzionamento dei sistemi software in generale.

Con tanta pratica e cercando soluzioni online o sui libri man mano che si presenta dubbi e problemi, potresti farcela, ma richiede comunque molto tempo. Qualche anno almeno. E non sto considerando al difficoltà del progetto di cui non so praticamente niente.

La cosa migliore che puoi ( se segui la strada Flutter ) è studiare il linguaggio Dart e poi seguire dei tutorial su Flutter.

Usa questo per fare pratica https://dartpad.dartlang.org/
Infarinatura su Dart https://www.tutorialspoint.com/dart_programming/index.htm

Tutorial su Flutter https://flutter.io/widgets-intro/

Sia chiaro che Flutter non è l'unica strada. E sto considerando che la tua idea sia un'app business.

Se è un gioco la situazione cambia di parecchio, perchè ci sono altri strumenti più adeguati.

.Diablo.
27-06-2018, 19:45
Non è un problema tanto di linguaggio quanto di SDK e framework vari.

Può decidere di seguire il percorso nativo e quindi usare Java/Kotlin per Android e Swift/Objc per iOS.

Può decidere di seguire il percorso multipiattaforma e usare:

1. React native --> devi fare compromessi sulle prestazioni rispetto al caso nativo
2. Xamarin --> troppi bug rispetto ai concorrenti
3. Qt --> buono ma sulle licenze c'è un pelino di casino
4. Nativescript --> stesse considerazioni del punto 1
5. Flutter --> prodotto da Google, linguaggio Dart ( simile al Javascript ma fatto meglio ), prestazioni elevate ( su Android anche superiori a Java ), imho una scelta molto buona allo stato attuale delle cose




Il tuo problema è che non hai mai programmato, per cui non hai nè conoscenze su specifici linguaggi, nè su algoritmi e strutture dati, nè sul funzionamento dei sistemi software in generale.

Con tanta pratica e cercando soluzioni online o sui libri man mano che si presenta dubbi e problemi, potresti farcela, ma richiede comunque molto tempo. Qualche anno almeno. E non sto considerando al difficoltà del progetto di cui non so praticamente niente.

La cosa migliore che puoi ( se segui la strada Flutter ) è studiare il linguaggio Dart e poi seguire dei tutorial su Flutter.

Usa questo per fare pratica https://dartpad.dartlang.org/
Infarinatura su Dart https://www.tutorialspoint.com/dart_programming/index.htm

Tutorial su Flutter https://flutter.io/widgets-intro/

Sia chiaro che Flutter non è l'unica strada. E sto considerando che la tua idea sia un'app business.

Se è un gioco la situazione cambia di parecchio, perchè ci sono altri strumenti più adeguati.

Ciao pabloski,

innanzitutto mi scuso per il ritardo nel risponderti e ti ringrazio per avermi risposto ;)
Avevo letto qualche tuo post prima di postare in questa sezione e mi sei sembrato subito una persona seria e molto ferrata in materia.
Da ignorante quale sono, avevo preventivato che la risposta, riguardo all'essere un autodidatta senza alcun background di programmazione, fosse "qualche anno almeno".
Io però ho un grosso problema, non posso aspettare anni.
Ho questa idea che reputo davvero vincente, ho avuto anche pareri esterni che mi hanno confermato la bontà della cosa ma mi manca il programmatore con cui parlarne e con cui, eventualmente, imbarcarmi in questa "avventura".
Soprattutto perchè avevo cercato aiuto presso delle persone che collaborano con realtà davvero enormi e che avrebbero potuto aiutarmi e a cui ho esposto l'idea (senza la possibilità di far firmare almeno un accordo di riservatezza per tentare di tutelarmi). Quello che ho ottenuto da loro sono stati solo dei bei complimenti e null'altro.
Quindi, per sintetizzare, ho anche il timore che, aspettando troppo tempo, la mia idea possa essermi rubata da queste persone.

Potresti darmi un consiglio su cosa fare pabloski?

Non so davvero dove sbattere la testa...

pabloski
28-06-2018, 09:30
In generale ti direi di assumere qualcuno tramite le più note piattaforme di freelancing, come Upwork, Elance, GetACoder e similari.

La cosa della NDA pone però una complicazione non da poco. Al che penso non ti resti altro che assoldare qualcuno in zona. Il problema è che ovviamente l'iter è più complicato, perchè o ti rivolgi a qualcuno che sappia procurarti programmatori o vai in giro a fare scouting.

Un'ulteriore possibilità sarebbe spezzettare il progetto in più parti e ogni parte farla sviluppatore da un programmatore diverso. In questo modo nessuno di loro avrebbe un'idea completa del progetto.

Ma ovviamente dovrai ricomporre i pezzi personalmente. Il che si scontra col problema del non saper programmare.

Imho la possibilità più sensata è di trovare uno o più studenti universitari, competenti e capaci s'intende, e collaborare con loro.

les2
28-06-2018, 11:21
ciao .Diablo,
che zona sei?


x pabloski
carino flutter, ho una domandona però:
- come si configura in questo scenario caotico dart ad oggi?

leggevo che qualcuno lo dava per spacciato (rispetto a node e go), poi però ho visto che hanno provato a portare flutter in golang senza successo.
Tu l'hai utilizzato per progetti in produzione?
grazie

.Diablo.
28-06-2018, 14:20
In generale ti direi di assumere qualcuno tramite le più note piattaforme di freelancing, come Upwork, Elance, GetACoder e similari.

La cosa della NDA pone però una complicazione non da poco. Al che penso non ti resti altro che assoldare qualcuno in zona. Il problema è che ovviamente l'iter è più complicato, perchè o ti rivolgi a qualcuno che sappia procurarti programmatori o vai in giro a fare scouting.

Un'ulteriore possibilità sarebbe spezzettare il progetto in più parti e ogni parte farla sviluppatore da un programmatore diverso. In questo modo nessuno di loro avrebbe un'idea completa del progetto.

Ma ovviamente dovrai ricomporre i pezzi personalmente. Il che si scontra col problema del non saper programmare.

Imho la possibilità più sensata è di trovare uno o più studenti universitari, competenti e capaci s'intende, e collaborare con loro.

Grazie dei consigli pabloski, sei stato davvero gentilissimo :)
Se fossi stato Ligure anche tu ti avrei chiesto subito di collaborare...previa esposizione dell'idea e tua eventuale valutazione ;)

.Diablo.
28-06-2018, 14:21
ciao .Diablo,
che zona sei?


x pabloski
carino flutter, ho una domandona però:
- come si configura in questo scenario caotico dart ad oggi?

leggevo che qualcuno lo dava per spacciato (rispetto a node e go), poi però ho visto che hanno provato a portare flutter in golang senza successo.
Tu l'hai utilizzato per progetti in produzione?
grazie


Ciao les2 :)

Io sono Ligure, della provincia d'Imperia :)

pabloski
28-06-2018, 15:08
carino flutter, ho una domandona però:
- come si configura in questo scenario caotico dart ad oggi?

leggevo che qualcuno lo dava per spacciato (rispetto a node e go), poi però ho visto che hanno provato a portare flutter in golang senza successo.


Dart era destinato originariamente a sostituire Javascript, cosa che invece è riuscito a fare in parte Typescript ( che usato dalla stessa Google su Angular ).

Successivamente il team Dart si è associato ad altri progetti, nello specifico Flutter ( in cui Dart fa un'ottima figura ) e Fuchsia ( il futuro OS di Google ).

Per cui credo difficile che a questo punto possa morire.


Tu l'hai utilizzato per progetti in produzione?


No, solo progetti amatoriali. C'è un'immaturità riguardo la completezza, specialmente sul fronte iOS mancano alcuni widget. Però è stabile, con pochi bug, estremamente performante e produttivo.

pabloski
28-06-2018, 15:08
Se fossi stato Ligure anche tu ti avrei chiesto subito di collaborare...previa esposizione dell'idea e tua eventuale valutazione ;)

La Liguria la conosco solo perchè compro l'olio Carli :D

les2
28-06-2018, 16:36
x .Diablo
purtroppo in liguria non conosco sviluppatori da indicarti, io sono di milano,
se capiti dalle mie parti e vuoi berti un caffè posso darti un'opinione, temo nulla di più.


su Dart
ho visto come va bene con flutter, sia flutter che fucsia sono progetti "particolari" però.
Typescript rimane js di fatto, non trovo sia un'alternativa a js un sottoinseme.
dart (scusa l'ignoranza) si usa anche nel browser?

sicuramente il fatto che con flutter compili nativo è qualcosa di notevole.

V8 ha portato ottime performance facilità di sviluppo, ma ha una serie di pecche intrinseche

in ogni caso grazie, proverò qualche giochino con flutter anche se temo di rimanere su js per parecchio tempo

pabloski
28-06-2018, 16:57
dart (scusa l'ignoranza) si usa anche nel browser?


Di fatto no. Google ha rilasciato un plugin tempo fa, ma è praticamente morto.


sicuramente il fatto che con flutter compili nativo è qualcosa di notevole.


Nativo nativo, cioè non nel bytecode Dalvik/ART. E per questo spesso produce programmi più performanti del SDK ufficiale di Android.


in ogni caso grazie, proverò qualche giochino con flutter anche se temo di rimanere su js per parecchio tempo

Credo sia superfluo ma lo dico lo stesso. Anche Dart ha dei transpiler per Javascript.

les2
29-06-2018, 14:46
eh, ma non è il linguaggio in se (una sintassi vale l'altra)
è la gestione di elementi di front dentro al dom come componenti di logica, che spinge js in questi anni nei vari incapsulatori


sto facendo un'app con electron che usa molte finestre, bottoni, controlli etc...
js si rivela molto veloce da scrivere (certo potessi compilarlo sarebbe meglio :()



ps. comunque grazie, lo devo assolutamente provare :)

ingframin
06-07-2018, 15:58
Ciao pabloski,

innanzitutto mi scuso per il ritardo nel risponderti e ti ringrazio per avermi risposto ;)
Avevo letto qualche tuo post prima di postare in questa sezione e mi sei sembrato subito una persona seria e molto ferrata in materia.
Da ignorante quale sono, avevo preventivato che la risposta, riguardo all'essere un autodidatta senza alcun background di programmazione, fosse "qualche anno almeno".
Io però ho un grosso problema, non posso aspettare anni.
Ho questa idea che reputo davvero vincente, ho avuto anche pareri esterni che mi hanno confermato la bontà della cosa ma mi manca il programmatore con cui parlarne e con cui, eventualmente, imbarcarmi in questa "avventura".
Soprattutto perchè avevo cercato aiuto presso delle persone che collaborano con realtà davvero enormi e che avrebbero potuto aiutarmi e a cui ho esposto l'idea (senza la possibilità di far firmare almeno un accordo di riservatezza per tentare di tutelarmi). Quello che ho ottenuto da loro sono stati solo dei bei complimenti e null'altro.
Quindi, per sintetizzare, ho anche il timore che, aspettando troppo tempo, la mia idea possa essermi rubata da queste persone.

Potresti darmi un consiglio su cosa fare pabloski?

Non so davvero dove sbattere la testa...

L'NDA è totalmente inutile se non hai la forza economica di metterlo in pratica. Soprattutto, il valore delle idee è zero finché non vengono implementate.
Vai di flutter di qualcosa in javascript tipo React Native, Apache Cordova (https://cordova.apache.org/), Ionic (https://ionicframework.com/) e simili.
Fai un prototipo (anche solo parzialmente) funzionante ma rappresentativo dell'idea. VA bene anche una sola piattaforma.

Quando è fatto, chiedi feedback, possibilmente a persone che fanno parte del tuo mercato di riferimento.
Una volta che hai il prototipo è più facile attrarre sviluppatori per lavorarci su.

La proposta "tu fai l'app e poi spartiamo i guadagni" (aka revenue sharing) è la peggiore proposta che tu possa fare. Nessuno sviluppatore serio accetterà la proposta.

È inutile cominciare in grande se non sai neanche quanto è buona la tua idea.

In bocca al lupo!