cosa dovrebbe sapere / indirizzo di uno sviluppatore per creare app Android commerciali? [chiuso]

21

Lo sviluppo di dispositivi mobili e Android è un'entusiasmante area di sviluppo. Poiché si tratta di una nuova disciplina, cosa ci si aspetterebbe da uno sviluppatore Android per creare applicazioni commercialmente robuste in termini di competenze? Il problema che io e, credo, molti altri "noob" nella tecnologia vorrebbero conoscere sono le aree delle competenze tecniche e la progressione agli argomenti avanzati richiesti che va oltre le stesse nozioni di base fornite da Google. C'è un molto di informazioni che è abbastanza utile ma non è organizzato in categorie di disciplina né ordine.

Aggiornamento : guardalo in questo modo. Se sei uno sviluppatore senior e hai bisogno di ottenere un collega collega su Android per un determinato progetto, (a tua discrezione per questa domanda), cosa faresti?

    
posta giulio 24.02.2011 - 10:26
fonte

7 risposte

16

Ci sono diversi aspetti di questa domanda:

Dal punto di vista tecnico , rispondendo al "Come?"

Ci sono diverse tecnologie da padroneggiare più un numero di "bello da avere".

  1. Il numero uno è Java . Android SDK si basa sul presupposto che tutte le app siano scritte in Java . Anche se probabilmente ci sono alcune emergenti soluzioni di terze parti da sviluppare in .net (vedi monodroid ), dopo tutto, il sistema operativo sottostante è Linux.

  2. Il secondo è eclipse . Sebbene ci siano un certo numero di SDK di terze parti in giro, alcuni sono migliori di ADT, su Intellij o su Netbeans , gli sforzi di Google sono ufficialmente focalizzati solo su eclipse per ora.

Modifica: a partire da gennaio 2016 Google sta ufficialmente supportando Android Studio come IDE ufficiale.

Nell'architettura Android, ci sono un certo numero di elementi costitutivi per i quali un po 'di esposizione sarà sempre utile:

  1. SQLite

  2. Nozioni generali di streaming video e audio, codec. Per OpenCore (android.media).

  3. Disegno OpenGL.

  4. Servizi Web basati su REST, XML o JSON.

  5. Nozioni relative all'architettura ARM per lo sviluppo di codici nativi.

Inoltre, leggendo nella mia ciotola di cristallo, gli sviluppatori Android dovrebbero anche conoscere il loro Linux ed essere esperti nelle lingue native per il giorno in cui Google abbandona Java e lo sostituisce con go o altre cose che potrebbero aver generato da qualche parte (vedi il loro" Native Client "iniziativa nel dominio del browser). Google ha già rilasciato un NDK (kit di sviluppo nativo) per c e C ++ utilizzando il meccanismo JNI standard per integrare Dalvik .

Dal punto di vista commerciale , rispondendo al "Cosa?".

Gli sviluppatori Android dovrebbero essere ovviamente gli utenti Android. Tuttavia, non solo gli utenti di telefoni cellulari standard ma anche gli utenti di tablet. Dovrebbero in realtà adottare un atteggiamento Jobsian - chiedendosi sempre "Come potrei farlo meglio con il mio telefono, il mio tablet o qualsiasi altro apparecchio elettronico di consumo non ancora sul mercato? ".

Ci sono un sacco di applicazioni Android che non hanno ancora un leader di mercato, non necessariamente legate alla mobilità (o alla solita noiosa app "dove-è-il-più-vicino-pizza"). Eccone alcuni che non riesco a togliermi di testa personalmente (finché non avrò più tempo; -).

  1. insegna a tuo figlio a disegnare e leggere.

  2. flashcard per l'apprendimento delle lingue straniere.

  3. Guida TV UK-FreeSat + telecomando.

  4. il tuo qui (ricette di cucina ... ecc.)

risposta data 28.02.2011 - 12:20
fonte
12

Per essere onesti, penso che tu abbia bisogno solo di Google e di fare qualche ricerca.

Ecco alcuni link interessanti che ho trovato, che possono offrire un buon punto di partenza.

Ce ne sono molti altri in aggiunta alla documentazione di Google che hai discusso.

Spero che questo ti possa iniziare, trovando i dettagli che desideri!

Good Luck

    
risposta data 24.02.2011 - 14:23
fonte
5

Guida per gli sviluppatori ufficiali di Google

Darei un'occhiata alla guida di sviluppo di Google per Android, che include best practice e linee guida per rendere l'app coerente con l'aspetto di un'applicazione Android.

    
risposta data 24.02.2011 - 16:03
fonte
3

Due cose che guarderei. Uno è le linee guida sulla progettazione delle mele per la creazione di app. So che la domanda riguardava le app per Android, ma i principi generali si applicano e ti fanno riflettere su una modalità di progettazione "app", che in realtà è molto diversa da una prospettiva di progettazione di app desktop.

Inoltre darei un'occhiata ad Appcelerator Titanium che è uno strumento che ti permette di portare il codice da un ambiente di tipo javascript / web dev a codice nativo su iPhone, iPad e Android. L'ho trovato un modo utile per creare rapidamente piccole app. Puoi scaricare l'esempio "Kitchen Sink" che, come suggerisce il nome, dimostra tutte le funzionalità native disponibili. Consiglierei sicuramente questo come punto di partenza.

    
risposta data 24.02.2011 - 15:01
fonte
2

Trovo spesso 3 cose mancanti nei nuovi sviluppatori di dispositivi mobili, dopo le competenze di base con il / i linguaggio / i di programmazione richiesto e la conoscenza degli strumenti e delle librerie SDK (che non sono scienza missilistica ... i 14enni hanno sviluppato app ).

  1. Sviluppo per ambienti vincolati. CPU, memoria, pixel di visualizzazione e alimentazione a batteria disponibile sono molto più limitanti sui dispositivi mobili. Alcuni programmatori non sono mai stati esposti alla programmazione veloce e minuscola. Non riesci a pensare allo stesso modo per risolvere i problemi che puoi quando hai un rack con 5kW di potenza e raffreddamento disponibili, ecc. Scopri di nuovo alcuni trucchi che i veterani usavano per codificare grandi giochi su una CPU da 1MHz con 48kB di memoria, o alcuni di questi. Forse pratica la codifica su un Arduino o altro piccolo controller.

  2. familiarità con l'interfaccia utente. In genere un utente interagisce con il proprio dispositivo mobile in modi diversi dai sistemi desktop. Portane uno in giro. Forse diversi modelli. Usali. Usa molte app e critiche (non caratteristiche, ma) quanto siano facili da usare, in condizioni di scarsa illuminazione, come rimbalzare veicoli in movimento, ecc. Leggi e rileggi tutti i vari HIG mobili. Scopri cosa piace e cosa non piace agli utenti della particolare piattaforma dell'interfaccia utente per la quale stai codificando.

  3. Quirk familiarity. Alcuni strumenti e librerie sono nuovi e hanno "stranezze". Leggi le schede per sviluppatori per problemi e soluzioni in modo da non rimanere bloccati facendo lo stesso errore incastrato in milioni di altri sviluppatori. Trovo troppe domande sullo stackoverflow su come fare cose che l'hardware, le API o i modelli di distribuzione di app non consentono nemmeno. Intere aziende hanno sprecato il loro tempo cercando di fare l'impossibile per l'App Store di iPhone.

risposta data 02.03.2011 - 07:26
fonte
1

Ho allenato i miei Juniors in questo modo di seguire.

Step 1: I ask them to see some free Application in Android market and also the API demos because they are also they can grab some ideas.(http://developer.android.com/resources/samples/ApiDemos/index.html) and also http://www.androidpeople.com/

For Instance: The IBNLive app for Android Because when they see this application, they can get an rough idea that these are things are possible, why we can't cerate /use , design or controls or functionality Like this.

Step2: Once they got an Hope, By Seeing the Existing Application, they can search Google as well as the Android developer Guide, which act as Bible for Android, and came to know.

For Instance: My Juniors got an Idea, of Expandable List View and Push Notifications , then searched , how we can do these things, then they find for Push Notification , we can use Cloud 2 Device Messaging, then they studied about that and did it in a Excellent manner.

    
risposta data 05.03.2011 - 08:05
fonte
0

Molto più importante dei tecnicismi (che possono essere appresi e non dovrebbe essere troppo difficile in ogni caso) è sapere cosa fare, per chi e se si sarà in grado di venderne abbastanza. L'ultima parte è ancora un problema su Android, al contrario di iOS.

Quindi, prima di iniziare ad apprendere lo sviluppo di Android, forma un quadro chiaro di ciò che vuoi raggiungere, come ottenerlo e se è effettivamente sostenibile.

    
risposta data 03.03.2011 - 11:07
fonte

Leggi altre domande sui tag