що повинен знати / адресу розробника для створення комерційних програм для Android? [зачинено]


21

Розробка Android та мобільних пристроїв - захоплююча область розвитку. Оскільки це нова дисципліна, що можна очікувати від розробника Android для створення комерційно надійних додатків з точки зору навичок? Проблема, яку я хотів би знати, як я, і, думаю, багато інших "ноуб" у галузі технологій, - це сфери технічних навичок та перехід до необхідних розширених тем, що виходить за рамки самих основ, наданих Google. Існує багато корисної інформації, але вона не організована в категорії дисципліни і порядку.

Оновлення : подивіться на це так. Якщо ви старший розробник і вам потрібен, щоб колега набрав швидкість на Android для певного проекту (на ваш розсуд для цього питання), що б ви робили?


Під комерційним ви маєте на увазі "комерційну якість" або "заробляти гроші", а якщо пізніше ви маєте на увазі, отримавши роботу в цьому районі або написавши та продавши програми для себе?
Джон Хопкінс

@Jon. Не виключаючи жодної з цих областей. Але (я думаю), є багато розробників, як я, які хочуть ефективно поширити свою поточну організацію на пристрої. Отже, це насправді не передбачає "заробітку" грошей або отримання нової роботи, а просто розширення підприємства на інформацію про голодних керівників / дорожніх воїнів.
сердитийТігун

Що я шукаю - це поради старших розробників Android, які мають "ооо! Ви повинні спочатку прочитати це, а потім це для HTTP, або це для привабливого дизайну інтерфейсу, і це для малювання 2D / 3D ..." моменти. Я оновив своє запитання, щоб це відобразити.
сердитийТігун

Відповіді:


16

У цьому питанні є кілька аспектів:

З технічної точки зору , відповідаючи на запитання "Як?"

Існує кілька технологій для освоєння плюс ряд «приємно мати».

  1. Номер один - Java . Android SDK заснований на припущенні, що всі додатки написані на Java . Хоча, напевно, є деякі нові сторонні рішення для розробки в .net (див. Монодороїд ), зрештою, основна ОС - Linux.

  2. Друге - затемнення . Хоча існує декілька сторонніх SDK, дещо кращих, ніж ADT, на Intellij або Netbeans , зусилля Google поки що офіційно зосереджені лише на затемненні.

Редагувати: З січня 2016 року Google офіційно підтримує Android Studio як офіційний IDE.

В архітектурі Android існує ряд будівельних блоків, для яких завжди буде корисно трохи експозиції:

  1. SQLite

  2. Загальні поняття про потокове відео та аудіо, кодеки. Для OpenCore (android.media).

  3. OpenGL креслення.

  4. Веб-сервіси на базі REST, XML або JSON.

  5. Поняття, що стосуються архітектури ARM для розробки Native Code.

Крім того, читаючи в моїй кришталевій мисці, розробники Android також повинні знати свій Linux і володіти рідними мовами в той день, коли Google викидає Java і замінює її на go або інші речі, які вони могли десь варити (див. Їх ініціативу " Native Client " у домені браузера). Google вже випустив NDK (Native Development Kit) для c і C ++, використовуючи стандартний механізм JNI для доповнення Dalvik.

З комерційної точки зору , відповідаючи на "Що?".

Розробники Android, звичайно, повинні бути самими користувачами Android. Однак не тільки стандартні користувачі мобільних телефонів, але і користувачі планшетних ПК. Насправді вони повинні сприймати ставлення до Йобсіана - завжди запитуючи себе: "Як я можу зробити це краще за допомогою телефону, планшета чи будь-якого ще не на ринку споживача електроніки?".

Існує безліч додатків для Android, які поки не мають лідера ринку, не обов'язково пов'язаного з мобільністю (або звичайним нудним додатком "де-чи-найближча-піца?"). Ось кілька таких, які я не можу вийти з розуму особисто (поки у мене більше часу ;-).

  1. навчіть дитину малювати та читати.

  2. картки для вивчення іноземних мов.

  3. UK-FreeSat TV-путівник + пульт дистанційного керування.

  4. ваші тут (кулінарні рецепти ... тощо).


Мені подобається ваша відповідь, чи можете ви надати кілька посилань, які ви використовували для SQLLite, Webservices / REST / JSON та OpenGL?
сердитийТіг

12

Якщо чесно, я думаю, що вам потрібно просто Google і зробити деякі дослідження.

Ось декілька цікавих посилань, які я знайшов, які можуть запропонувати хорошу вихідну точку.

Крім того, до документації Google, яку ви обговорювали, є багато інших.

Сподіваємось, що це змусить вас розпочати роботу, знайти потрібні деталі!

Щасти


привіт, вибачте, якщо це нерозумно, але я тут новий! Чому це було б проголосовано? Причина, яку я запитую, полягає в тому, що я помітив, що ніхто більше не відповідав на це питання, а іноді (я думаю, що так чи інакше) вам просто потрібно піти геть і опрацювати відповідь самостійно. Це все, що я пропонував з деякими основними вихідними пунктами, так що з цим не так?

+1, щоб протистояти негативному. Плюс це дає хороші посилання :)
Даррен Янг

@Darren Young - дякую, але мене просто цікавило, чому це може бути проголосовано. Тож я можу краще використовувати сайт, але +1 завжди вітається!

@Digger. Дякую за цю інформацію. Це матеріал початкового рівня, який я вже встиг знайти. Я сподівався, що старші розробники вхопляться і трохи далі пройдуть цю відповідь. +1
сердитийТуг

@giulio - дякую, сподіваємось, ви знайдете інформацію, яку шукаєте.

5

Офіційний посібник для розробників Google

Я ознайомлюсь із посібником із розробників Google для Android, який містить найкращі практики та рекомендації щодо того, щоб ваш додаток відповідав зовнішньому вигляду програми Android.


Спасибі. Я вже виявив посібник з SDK і розробників Google ( developer.android.com/guide/index.html ). Але виявлено, що для розробки та впровадження програм комерційного класу бракує багато.
сердитийТіг

3

Дві речі, на які я б дивився. Одне - інструкції щодо дизайну яблук для створення програм. Я знаю, що питання стосувалося Android Apps, але загальні принципи застосовуються і змушують вас задуматися в дизайні "App", який насправді сильно відрізняється від точки зору дизайну настільних додатків.

Також я би поглянув на Appcelerator Titanium, який є інструментом, який дозволяє вам перенести код із середовища javascript / web-розробник до рідного коду на iPhone, iPad та Android. Я знайшов корисним способом швидкого створення невеликих додатків. Ви можете завантажити приклад "Мийка кухні", який, як випливає з назви, демонструє всі наявні функціональні можливості. Я б точно рекомендував це як місце для початку.


Дякую, що дивилися на Титан. Я оновив питання, щоб допомогти респондентам із тим, що шукаю у відповіді.
сердитийТігун

2

Я часто знаходжу 3 речі, які відсутні в нових розробниках для мобільних пристроїв, після базових навичок з потрібною мовою програмування та знання інструментів та бібліотек SDK (що не є ракетною наукою ... 14-річні діти, як повідомляється, розробили додатки).

  1. Розробка для обмеженого середовища. Процесор, пам'ять, пікселі дисплея та наявна потужність акумулятора - набагато більше обмежують мобільні пристрої. Деякі програмісти ніколи не піддавалися програмуванню швидко і крихітно. Ви просто не можете думати таким же чином, як вирішити проблеми, як це можливо, коли у вас є стійка з потужністю 5 кВт потужності та охолодженням і т. Д. Вивчіть деякі хитрощі, які старожили використовували для кодування чудових ігор на 1 МГц процесорі з 48 кБ пам’яті чи щось таке. Можливо, практикуйте кодування на Arduino або іншому крихітному контролері.

  2. Знайомство з інтерфейсом користувача Користувач зазвичай взаємодіє зі своїм мобільним пристроєм по-різному від настільних систем. Проведіть один навколо. Можливо кілька моделей. Використовуйте їх. Використовуйте безліч додатків і критику (не функцій, але), наскільки вони легкі у використанні, при поганому освітленні, підстрибуванні транспортних засобів, що рухаються, тощо. Прочитайте та перечитайте всі різні мобільні HIG. Знайте, що користувачам подобається та що не подобається у певній платформі інтерфейсу користувача, яку ви кодуєте.

  3. Вигадливе знайомство. Деякі з інструментів і бібліотек є новими і мають "химерність". Прочитайте дошки розробників щодо проблем та рішень, щоб не зациклюватися, роблячи ту саму помилку, на яку натрапили мільйони інших розробників. Я бачу занадто багато питань у stackoverflow про те, як робити речі, які апаратне забезпечення, API чи моделі розповсюдження додатків навіть не дозволяють. Цілі компанії витратили свій час, намагаючись зробити неможливе для магазину додатків iPhone.


зацікавлення .. чи можете ви надати будь-які посилання на сайти, які висвітлюють ці теми?
сердитийТіг

1

Я тренував своїх юніорів у цій наступній манері.

Крок 1. Я прошу їх побачити кілька безкоштовних додатків на ринку Android, а також демонстрації API, тому що вони також можуть захопити деякі ідеї. ( Http://developer.android.com/resources/samples/ApiDemos/index.html ) а також http://www.androidpeople.com/

На приклад: додаток IBNLive для Android. Тому що, побачивши цей додаток, вони можуть зрозуміти, що такі речі можливі, чому ми не можемо використовувати / використовувати, розробляти чи контролювати або функціонувати.

Крок 2: Отримавши надію, побачивши існуючу програму, вони можуть шукати Google, а також посібник для розробників Android, який є Біблією для Android, і дізналися про це.

На приклад: Мої юніори отримали ідею, перегляд розширюваного списку та сповіщення Push, потім шукали, як ми можемо робити це, потім вони знаходять для Push Notification, ми можемо використовувати Cloud 2 Device Messaging, потім вони вивчали це і робили це відмінно.


0

Набагато важливіше, ніж технічні засоби (які можна навчитися і не повинні бути занадто важкими) - це знати, що робити, для кого і чи зможете ви продати достатню кількість цього. Ця остання частина все ще є проблемою на Android, на відміну від iOS.

Отже, перш ніж починати вивчати розвиток андроїд, сформуйте чітку картину того, чого ви хочете досягти, як цього досягти та чи є це насправді стійким.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.