Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-01-2020, 09:35   #1
acronalb
Senior Member
 
Iscritto dal: Nov 2012
Messaggi: 427
react native o no?

Ciao a tutti, vorrei realizzare un' app per smartphone android, in futuro probabilmente anche per ios.
conosco le basi di C,php e javascript ma nulla che possa permettermi lo sviluppo di un'intera applicazione.
Ho effettuato un po' di ricerche con google ed ero giunto alla conclusione di iscrivermi ad un corso Java, utile per android, ma mi sono imbattuto in un corso di react native che promette la creazione di app compatibile con piu' piattaforme tra cui android e ios.
ho indagato un po' ma mi si sono incasinate ancora di piu' le idee.
Ho capito che react native è un framework javascipt ma non capisco come possa diventare un'app compatibile con piu' piattaforme!


Dato che devo comunque iniziare ad imparare un linguaggio dal principio, le applicazioni sviluppate con react native sono paragonabili ad app native o conviene sempre uno sviluppo ad Hoc usando java per android e object C per ios?

Grazie
__________________
MB: asrock extreme 4 || CPU: intel i5 3570k || CASE: cooler master 430 elite ||HDD: seagate 1Tb || RAM: vengeance DDR3 1600 MHZ (2x4Gb) || ALI: antec hcg 620 || S.O: window 10 pro
acronalb è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2020, 11:11   #2
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da acronalb Guarda i messaggi
in futuro probabilmente anche per ios
Il che già potrebbe portarti ad escludere qualsiasi soluzione non cross-platform. Cioè, potresti cominciare con Java/Kotlin e Android SDK, poi in futuro usare Swift/Cocoa o passare ad un framework multipiattaforma.

Ma tanto vale che cominci direttamente con uno multipiattaforma!!

Quote:
Originariamente inviato da acronalb Guarda i messaggi
conosco le basi di C,php e javascript ma nulla che possa permettermi lo sviluppo di un'intera applicazione
Ottimo. Se tu fossi stato un programmatore JS, ti avrei consigliato React Native senza pensarci su. In fondo lo scopo di questi strumenti è quello di poter riutlizzare le proprie conoscenze.

Cioè Electron ( per esempio ) non è nato per sfizio, ma perchè qualcuno ha voluto consentire ai programmatori esperti di JS di scrivere programmi per desktop, senza dover imparare da zero altre tecnologie.


Quote:
Originariamente inviato da acronalb Guarda i messaggi
Ho capito che react native è un framework javascipt ma non capisco come possa diventare un'app compatibile con piu' piattaforme!
Oddio, RN usa JSX. Però si, alla fine ti servono html, css e js ( oltre a conoscenze specifiche di jsx, ma niente di drammatico ).

Come fa a creare app per ios/android/uwp? Semplice. Il compilatore contiene del codice Java, Swift, ecc... che rappresenta lo scheletero dell'app per la piattaforma specifica. Dentro ci ficca una virtual machine javascript, che esegue il codice js scritto da te.

Dal tuo punto di vista, conta il fatto di poter scrivere l'app in js.

[quote=acronalb;46572528
Dato che devo comunque iniziare ad imparare un linguaggio dal principio, le applicazioni sviluppate con react native sono paragonabili ad app native o conviene sempre uno sviluppo ad Hoc usando java per android e object C per ios?
[/QUOTE]

Ecco, questa è la parte fondamentale. Intanto cominci da zero in ogni caso e quindi non hai il bias dovuto ad una conoscenza pregressa.

Detto questo, RN è discreto, ma c'è di meglio.

Xamarin, Qt, Flutter. Poi Ionic, Cordova. E ce ne sono altri.

I primi a comparire furono Cordova e i suoi figli. La tua app è una pagina web ( SPA nella parlata corrente dei programmatori js ) e gira in una webview. Ha limitata capacità di interagire col sistema operativo. E' lenta.

Per questo motivo nacquero soluzioni come React Native e Nativescript ( un concorrente di RN ). Non usano la webview. Offrono moduli per interfacciarsi con tutte o quasi le funzionalità del sistema operativo. Sono discretamente veloci.

Nessuna di queste due soluzioni batte quella nativa in termini di accesso diretto al sistema operativo e di performance.

Poi però qualcuno penso di fare ancora meglio. Nacquero Xamarin ( che in verità è più vecchio di RN ), Qt fu portato su Android e iOS, nacque Flutter ( di Google ).

Questi qui implementano praticamente tutto da zero. Usano il sistema operativo solo per le funzionalità base. Sono scritti in C/C++/C#. Pensa che implementano pure i controlli grafici ex novo.

Sono più veloci ( in molti casi, non tutti, ma molti ) del nativo.

Qt però è C++. Molto grosso e complesso. Basato su un'architettura anni '90.

Xamarin non mi ha mai convinto più di tanto. Fa il suo lavoro, ma ha le sue pecche. Bug, architettura presa da .Net. E' valido se sei già un programmatori .Net.

Flutter è imho la scelta migliore. Usa Dart come linguaggio, che è nato per sostituire JS ed è quindi molto espressivo e facile da usare. E' molto veloce. Ha un'architettura pensata per i moderni workflow. L'UI si definisce nel codice ( niente XML, XAML, designer WYSIWYG, ecc... ). Supporta l'hot reloading megli di RN ( che già lo supportano ottimamente ).

Quindi, per me, dovresti puntare su Flutter. Ho usato un pò di tutto negli anni ed è stato uno dei pochi strumenti a farmi esclamare "Wow!".

Inoltre lo stanno portando ovunque. Attualmente supporta le principali piattaforme mobile e il web. Stanno lavorando su Windows/Linux/macOS.

E' un ottimo investimento pure in ottica futura. E sarà il framework di default per programmare su Fuchsia ( il futuro sistema operativo di Google ).
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2020, 15:48   #3
acronalb
Senior Member
 
Iscritto dal: Nov 2012
Messaggi: 427
Quote:
Originariamente inviato da pabloski Guarda i messaggi

Detto questo, RN è discreto, ma c'è di meglio.

Xamarin, Qt, Flutter. Poi Ionic, Cordova. E ce ne sono altri.

I primi a comparire furono Cordova e i suoi figli. La tua app è una pagina web ( SPA nella parlata corrente dei programmatori js ) e gira in una webview. Ha limitata capacità di interagire col sistema operativo. E' lenta.
Prima di trovare react native mi ero proprio imbattuto in apache cordova e ionic ma facendo ricerche varie ero arrivato alla conclusione che, basandosi su webview, l'app sarebbe risultata meno performante delle native.
Successivamente mi sono imbattuto in react native e da qui le idee si sono complicate



Quote:
Originariamente inviato da pabloski Guarda i messaggi

Quindi, per me, dovresti puntare su Flutter. Ho usato un pò di tutto negli anni ed è stato uno dei pochi strumenti a farmi esclamare "Wow!".
Flutter non lo conoscevo ma facendo qualche ricerca ho notato che è abbastanza nuovo e in forte crescita.
unica cosa che mi fa storcere il naso è proprio il fatto che sia così recente!
del resto dovrei iniziare praticamente a studiare da 0, per javascript o java ci sono tonnellate di libri, tutorial online e corsi, cosa che per il momento non noto per dart (correggimi se sbaglio).

Ammetto che l'applicazione che devo realizzare è un po' un test per validare se la mia idea funziona ed è richiesta, in caso affermativo potrei anche pensare ad uno sviluppo sicuramente migliore e piu' accurato come nel caso della app native, quindi non volevo imbattermi in qualche cosa di troppo complicato che potrebbe poi risultare inutile.
Comunque i principali "componenti" che dovrò usare sono il bluetooth, il GPS e molta geolocalizzazione, API di paypal, google maps e database quindi nulla di così sofisticato che richieda accesso diretto al sistema operativo.

Ammetto che è molto allettante l'idea di imparare ad usare Flutter anche per un futuro sistema operativo fushia (sperando riesca ad affermarsi) ma, alla luce dei miei dubbi, dici che è semplice imparare l'accoppiata Flutter-dart per chi comincia da 0 con la programmazione o meglio un compromesso scegliendo l'abbinata javascript- react native anche se un po' meno performante e completa?
__________________
MB: asrock extreme 4 || CPU: intel i5 3570k || CASE: cooler master 430 elite ||HDD: seagate 1Tb || RAM: vengeance DDR3 1600 MHZ (2x4Gb) || ALI: antec hcg 620 || S.O: window 10 pro

Ultima modifica di acronalb : 13-01-2020 alle 15:57.
acronalb è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2020, 16:45   #4
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da acronalb Guarda i messaggi
Prima di trovare react native mi ero proprio imbattuto in apache cordova e ionic
Francamente non so a cosa possano servire ionic, cordova e compagnia. Ormai le progressive webapp consentono di portare le webapp direttamente su mobile e vanno pure meglio di cordova e soci.




Quote:
Originariamente inviato da acronalb Guarda i messaggi
unica cosa che mi fa storcere il naso è proprio il fatto che sia così recente!
Il framework si, il linguaggio Dart no. Comunque è spettacolare e non soffre di bug particolarmente gravi.

Al massimo c'è poca roba di terze parti in giro.

Quote:
Originariamente inviato da acronalb Guarda i messaggi
cosa che per il momento non noto per dart (correggimi se sbaglio).
C'è meno casino.

C'è un ottimo libro che si chiama "Dart for absolute beginners". E c'è una guida succinta a vari aspetti del linguaggio https://dart.dev/guides/language/language-tour

Imho il miglior punto di partenza è questo corso/tutorial https://da-bootcamp.firebaseapp.com/...ogramming_dart

Per Flutter c'è un corso su Udacity. Poi una serie di tutorial qui https://codingwithjoe.com/learn/flutter/

C'è un canale reddit apposito https://www.reddit.com/r/FlutterDev/

Questo tizio ha compilato una guida per neofiti con link a tutorial, video, esempi e altro materiale https://medium.com/flutterdevs/roadm...s-ccb68718c84b

Quote:
Originariamente inviato da acronalb Guarda i messaggi
quindi non volevo imbattermi in qualche cosa di troppo complicato che potrebbe poi risultare inutile.
In generale la programmazione è sempre complicata. Per esempio è vero che React Native ha dalla sua l'ecosistema JS e gazillioni di libri, tutorial, blog, ecc... Ma è pur vero che, ben presto, scoprirai che l'incasinato ecosistema JS è pieno di librerie che funzionano e non funzionano, crash dovuti all'aggiornamento di dipendenze, difficoltà nel debug ( dovute alla natura stessa del linguaggio ).




Quote:
Originariamente inviato da acronalb Guarda i messaggi
che è semplice imparare l'accoppiata Flutter-dart per chi comincia da 0 con la programmazione o meglio un compromesso scegliendo l'abbinata javascript- react native anche se un po' meno performante e completa?
Dart è l'evoluzione di JS. Ovvero è come Google pensa che JS sarebbe dovuto essere. Considera che oggi moltissima gente non usa JS, ma Typescript, Coffeescript, Clojurescript, ecc...

Questo perchè JS ha delle pecche architetturali notevoli, che rendono difficile la programmazione di software robusto. Per cui ci si affida a linguaggi creati apposta per superarne i limiti. Typescript è quello che si è imposto di più e ha battuto Dart. Entrambi puntavano ad essere i sostituti di JS.

Per cui, partendo da Flutter non è un lungo viaggio migrare a RN e viceversa.

Chiaro che la disponibilità di gazillioni di documentazione di vario tipo, può aiutarti ad entrare con più facilità nel mondo mobile. Senza contare che RN è richiestissimo pure in ambito lavorativo.

Per cui nessuno ti vieta di iniziare da quello e poi studiare Flutter con comodo, più in là.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2020, 17:17   #5
acronalb
Senior Member
 
Iscritto dal: Nov 2012
Messaggi: 427
Do un'occhiata a tutti i tuoi link su dart e poi tiro le somme sul da farsi!
Grazie sei stato gentilissimo!
__________________
MB: asrock extreme 4 || CPU: intel i5 3570k || CASE: cooler master 430 elite ||HDD: seagate 1Tb || RAM: vengeance DDR3 1600 MHZ (2x4Gb) || ALI: antec hcg 620 || S.O: window 10 pro
acronalb è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Iliad: si consolida la partnership tecno...
Il SoC a 2 nm di Samsung non sfigura nel...
Prezzo shock per i Galaxy Buds FE + nuov...
Il nuovo SoC di Qualcomm vuole stupire: ...
Offerta lampo per pulire l'auto: aspirap...
I robotaxi di Amazon entrano in azione: ...
ECOVACS DEEBOT T50 PRO OMNI Gen2 domina ...
iPhone 17 Pro su Amazon: tutti i colori,...
Disney Plus da 2,99 euro al mese per 3 m...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v