Autore Topic: Android Alternative allo sviluppo nativo , PRO e contro per neofita?  (Letto 949 volte)

Offline farohp

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
  • Sistema operativo:
    Ubuntu / Windows Xp
Ciao a tutti , mi chiamo luca e conosco bene il c e il php come lunguaggi di programmazione (usati per anni).
Ho deciso di voler creare un giochino in stile super mario(gia sviluppato in c per desktop) e portarlo appunto su android.

Vorrei valutare però insieme a voi se mi conviene usare Java e le librerie native Android (il che significherebbe studiarsi java, fare parecchi esercizi e poi scrivere il programma) questo impegnerebbe sicuramente molti mesi..
Oltre a questo ho anche da porvi un quesito, su che computer usate androidStudio? perchè finchè si scrive codice va abbastanza bene ma appena voglio eseguirlo(e l'unico modo che ho trovato è avviare l'emulatore) ci metto 10 minuti tutte le volte per testare l'app oltretutto con frequenti blocchi del pc(i5 , 4gb di ram, Windows8)......

Oppure stavo valutando una delle seguenti alternative:
Apache Cordova e Steroids scaturiscono dal know-how nello sviluppo per Internet. In effetti: se CSS ha reso il Web elegante, Javascript gli ha dato vitalità e HTML5 l’ha rivoluzionato, perché non riproporre questi strumenti nello sviluppo mobile? Cordova è la versione open source del progetto PhoneGap e serve a realizzare le cosiddette app ibride con un’interfaccia realizzata in modalità web ma in grado di interfacciarsi con il sistema operativo mobile mediante un vasto numero di API. Steroids nasce per superare alcuni limiti riscontrati in PhoneGap ma senza “reinventare la ruota”, si basa infatti su Cordova ma approfondisce il legame con lo strato nativo;
Corona SDK è un ambiente particolarmente versato alla gestione dell’interazione come per i videogiochi. Creato dai Corona Labs non necessità di alcuna conoscenza del linguaggio Java e propone come alternativa lo scripting in LUA, un formalismo dall’approccio molto semplice che permette di personalizzare maggiormente le proprie applicazioni;
Unity è il più diffuso motore per videogiochi del mondo. Il primato che gli spetta è pienamente meritato in quanto combina editor visuale di altissimo livello ma anche programmazione in tecnologie ad oggetti avanzate come C# oltre che gestione di altri aspetti fondamentali per i videogiochi come grafica, animazione e fisica;
AppInventor è probabilmente la possibilità più abbordabile per l’appassionato di tecnologia  a digiuno di programmazione e che desidera qualche risultato piuttosto rapido. E’ stato creato dai Google Labs come strumento per la rapida modellazione di app Android ed è stato successivamente ceduto al prestigioso M.I.T.. Intuitività e semplicità le sue chiavi di lettura principali.

Chiedo consigli a chi le ha gia utilizzate cosa mi consiglierebbe di fare, sono molto diversi come modi di programmare Unity rispetto a java per esempio? Per cio che voglio fare io cosa è meglio fare?
Inoltre nel caso si decidesse per Java nativo quali librerie grafiche per il 2D conviene usare ? Guide e tutorial?
grazie

Offline Alexofalco

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S Advance
  • Sistema operativo:
    2.3.6
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #1 il: 01 Dicembre 2014, 22:17:35 CET »
Dipende dai tuoi obiettivi.

Se vuoi sviluppare un videogioco imparando un linguaggio vai di unity. Personalmente ti dico che è valido anche gamemakerstudio anche se più machinoso

Se vuoi imparare un linguaggio sviluppando un videogioco vai di java, magari con l'aiuto delle libgdx

Inviato dal mio GT-I9070 con Tapatalk 2


Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #2 il: 02 Dicembre 2014, 00:17:18 CET »
Non ho mai visto nessuno di questi. Ma unity non dovrebbe essere un normale editor che propone la vista di due/3 assi XYZ.  Cioè magari in un pomeriggio realizzi snake però non sai cos'è un activity in android.
Viceversa io so come fare una richiesta http da java e android mentre non saprei mai realizzare snake.

Inoltre tutti sti editore dovrebbero avere la possibilità di esportare ciò che l'utente ha realizzato in una moltitudine di piattaforme.

Offline farohp

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
  • Sistema operativo:
    Ubuntu / Windows Xp
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #3 il: 02 Dicembre 2014, 14:10:40 CET »
Vi ringrazio per le rispote.

Cio che però volevo sapere è come funzionano questi motori?
Cioè tu "disegni" e loro scrivono il codice (un po' come il vecchio frontpage per html?) oppure bisogna studiarsi un linguaggio di programmazione X che userei solo su unity?
Per sviluppare giochi quindi il migliore tra tutti quelli che hai usato è unity?
Se non sbaglio è portabile anche su" ios e su desktop scrivendo il codice una sola volta",su che base lavora unity per poter essere eseguito su sistemi differenti?

In base a cio capirò che scelta fare in quanto se devo studiarmi 30 pagine di linguaggio unity che poi in futuro non userò mai piu se non per fare giochi forse mi conviene studiarmi java che lo userò ovunque e potrà servirmi in futuro e non solo per fare giochi..
No?

Offline Alexofalco

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S Advance
  • Sistema operativo:
    2.3.6
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #4 il: 02 Dicembre 2014, 14:47:28 CET »
non sono il massimo esperto di unity, gli ho solo dato un occhiata, mentre per anni ho sviluppato giochi 2d con gamemaker. Entrambi sono IDE con engime proprietari ottimizzati per lo sviluppo di videogiochi. Banalizzando tutta la spiegazione posso dire che l'ide ti permette un lavoro estremamente agevolato con strumenti pensati allo sviluppo di assets di ogni tipo (sprite, modelli3d, suoni, bitmap, camera ecc). Come implementare gli assets e come realizzare il tuo sw dipende dal engime in questione.
Unity sfrutta (se non sbaglio) qualcosa tipo SDL e quindi ecco spiegato il porting estremo ed agevolato su molte piattaforme. Il linguaggio che utilizzeresti per sfruttare tutto è a scelta tra javascript, c# e boo.
GMStudio è più "anziano", esiste da decisamente più tempo dell'unity ma è stato concepito inizialmente per sviluppare videogiochi 2D teoricamente senza sapere niente di programmazione, quindi senza scrivere una riga di codice. Dalle prime versione del gm strada ne è stata fatta e ora l'originario "linguaggio drag&drop ad icone" è stato largamente sostituito dal gml, un linguaggio orientato ad eventi, qualcosa simile al c/vb ma fortemente non tipizzato.

Secondo me la domanda è mal posta. Ancora non ho capito qual'è il tuo obiettivo, se imparare un linguaggio di programmazione sviluppando videogiochi oppure imparare a sviluppare videogiochi imparando un linguaggio di programmazione.

Se cerchi il compromesso e il tuo target è android, beh, abbiamo sempre un problema. Sviluppare videogiochi (secondo me) è tra i sviluppi più difficili che ci sono in campo software. Ci sono dinamiche, problematiche, tecniche estremamente avanzate, complesse ma soprattutto diverse rispetto alla classica programmazione di app. Per questo motori come gamemaker, unity, costruttor e compagnia bella hanno preso piede in modo così forte, ti permettono con più facilità a raggiungere il tuo scopo (sviluppare il videogames) senza farti passare ore e ore a disallocare memoria, gestire assets e sincronizzare gli oggetti nella scena di gioco.

Offline farohp

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
  • Sistema operativo:
    Ubuntu / Windows Xp
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #5 il: 02 Dicembre 2014, 21:56:40 CET »
Bhe la mia idea era quella di sviluppare una serie di videogiochi, sviluppati gia in C su pc (giochi 2d molto semplici "old style").
Ho visto che sul market android non essitono , la portabilità la utilizzerei "poco" in quanto non andrei a comprare una licenza per inserirli nello store iOS oltre che a dovermi comprare un mac !

Detto cio al momento vorrei "portare" i giochi creati per la versione desktop in c in versione mobile Android e poterli inserire sul market..
Non so se in futuro poi magari creerò anche qualche app..

Cio a cui voglio arrivare e cercare di dire è questo: conviene secondo voi studiarsi  un linguaggio da usare con Unity rispetto magari a studiare java che sicuramente lo utilizzerei anche altrove(nel caso volessi continuare con lo sviluppo di app?).
E' come dire: Mi metto a studiare il flash anche se so gia che il prossimo anno uscirà html 5 e quindi ho studiato si poco ma ora non me ne faccio piu nulla di cio che ho studiato->quindi fatica inutile.
E' anche vero però che per unity è stato citato C# e javascript e se effettivamente si utilizzano questi linguaggi bhe probabilmente li utilizzerei anche in futuro , un po' come java.Una domanda, ma unity è gratuito?

Alexofalco di gamemaker invece cosa ne pensi?Ho guardato diversi video e sembra abbastanza intuitivo ma per saperlo usare ci dovrei perdere molte ore e il rischio forse è sempre lo stesso, cosa me ne farò tra un anno di saper usare un engine che ora magari è "Morto"?

Cosa ne pensate?
grazie
luca
« Ultima modifica: 02 Dicembre 2014, 22:03:55 CET da farohp »

Offline Alexofalco

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S Advance
  • Sistema operativo:
    2.3.6
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #6 il: 02 Dicembre 2014, 22:02:38 CET »
Dipende dai tuoi obiettivi.

Se vuoi sviluppare un videogioco imparando un linguaggio vai di unity. Personalmente ti dico che è valido anche gamemakerstudio anche se più machinoso

Se vuoi imparare un linguaggio sviluppando un videogioco vai di java, magari con l'aiuto delle libgdx

Inviato dal mio GT-I9070 con Tapatalk 2

odio ripetermi ma è questa la risposta che ho per te. Non esiste il linguaggio perfetto per l'applicazione perfetta. Tutto dipende dai propri obiettivi e tempi.

se poi devo decidere io per te andrei con unity: c e java per android non c'entrano un emerita mazza, ti ritroveresti a studiare prima java, poi android, poi qualche framework per giochi. Unity e compagnia bella invece ti permette "scriptando" di sviluppare subito qualcosina, il ritorno che hai è a breve termine.

Ovvio aggiungere che per entrambi i casi servono tempi discretamente lunghi e parecchi studi, i videogames non si programmano dal nulla.

Offline farohp

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
  • Sistema operativo:
    Ubuntu / Windows Xp
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #7 il: 02 Dicembre 2014, 22:44:46 CET »
Ricapitolando , cio che mi consiglieresti tra i motori grafici piu utilizzati per android è unity, in cui principalmente si usa il drag & drop e si utilizza il C# solo per far muovere il tutto. Volendo potrei provare anche Game Maker: Studio forse piu semplice , in ogni caso lo utilizzerei per giochi 2D.

Da cio che ho visto sono entrambi gratuiti ,si scarica l'IDE si inizia a capire come funziona e il gioco è presto fatto(documentazione italiana non ne ho trovata ahimè ma ..non penso sia troppo complicato).

Altra alternativa se no per arrivare al fine di cio che voglio creare sarebbe : studiarsi java almeno le basi per capirne il funzionamento su Android(non capisco perchè hai indicato di studiarsi java e poi android, dovrebbe essere praticamente la stessa cosa no?) fatto cio dovrei poi utilizzare delle librerie esterne esempio libgdx che sembra la piu famosa per comporre il tutto.
Inoltre dando una leggera occhiata a libgdx sembra quasi che non si possa importare la libreria su android studio(un po' come funzionava #include < libreria.h> in c , ma bisogna usare un IDE a parte..QUindi androidStudio lo si usa prevalentemente per sviluppare app che richiedono solo Java base?

Corretto?
Una domanda, qual è la differenza tra un engine e un framework? non mi è chiara, entrambi forniscono un IDE(programma per sviluppare) e il codice per assemblare tutto.

grazie
« Ultima modifica: 02 Dicembre 2014, 22:47:01 CET da farohp »

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Android Alternative allo sviluppo nativo , PRO e contro per neofita?
« Risposta #8 il: 03 Dicembre 2014, 09:56:00 CET »
Una domanda, qual è la differenza tra un engine e un framework? non mi è chiara, entrambi forniscono un IDE(programma per sviluppare) e il codice per assemblare tutto.

Un Framework completo (esempio: Unity) è fatto composto da Engine + serie di editor per creare il videogioco + scripting per AI.
Per Unity non devi scrivere codice nativo... scrivi script per la gestione (del gioco, dei livelli, della AI)

Un Engine è ciò che fa girare il videogioco (esempio Ogre3D). E' composto da diversi (sotto)Engine specifici (Fisico, grafico, sonoro... )
Solitamente lo integri nel tuo codice nativo, lo utilizzi e lo estendi...

Ciao