Что должен знать разработчик / адрес для создания коммерческих Android-приложений? [закрыто]

21

Разработка для Android и мобильных устройств - захватывающая область развития. Поскольку это новая дисциплина, чего можно ожидать от разработчика Android для создания коммерчески надежных приложений с точки зрения навыков? Проблема, которую я и, как мне кажется, многие другие «новички» в этой технологии, хотели бы знать, это области технических навыков и развитие необходимых продвинутых тем, выходящих за рамки самих основ, предоставляемых Google. Существует много полезной информации, но она не разбита на категории дисциплины и порядка.

Обновление : посмотрите на это так. Если вы являетесь старшим разработчиком, и вам нужно, чтобы коллега ускорился на Android для конкретного проекта (на ваше усмотрение для этого вопроса), что бы вы сделали?

angryITguy
источник
Под коммерческими вы подразумеваете «коммерческое качество» или «зарабатывать деньги», и если позднее вы имеете в виду, получая работу в этой области или создавая и продавая приложения для себя?
Джон Хопкинс
@ Джон. Не исключая ни одну из этих областей. Но (я думаю), есть много разработчиков, таких как я, которые хотят эффективно расширить свою текущую организацию на устройства. Таким образом, это на самом деле не подразумевает «зарабатывание денег» или получение новой работы, просто расширение предприятия для менеджеров, жаждущих информации / дорожных воинов.
angryITguy
То, что я ищу, - это совет старших разработчиков в Android, у которых есть «ооо! Вы должны сначала прочитать это, а затем это для HTTP, или это для привлекательного дизайна интерфейса и это для рисования 2D / 3D ...» моментов. Я обновил свой вопрос, чтобы отразить это.
angryITguy

Ответы:

16

Есть несколько аспектов этого вопроса:

С технической точки зрения , отвечая на вопрос «Как?»

Есть несколько технологий для освоения, а также ряд «приятно иметь».

  1. Номер один это Java . Android SDK основан на предположении, что все приложения написаны на Java . Хотя, возможно, есть некоторые новые сторонние решения для разработки в .net (см. Monodroid ), в конце концов, базовой ОС является 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 для разработки собственного кода.

Кроме того, читая в моем хрустальном шаре, разработчики 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-guide + пульт дистанционного управления.

  4. Ваш здесь (рецепты кухни ... и т. д.).

Ален Паннетье
источник
Мне нравится ваш ответ, можете ли вы предоставить ссылки, которые вы использовали для SQLLite, Webservices / REST / JSON и OpenGL?
angryITguy
12

Если честно, я думаю, что вам нужно просто Google и сделать некоторые исследования.

Вот некоторые интересные ссылки, которые я нашел, которые могут предложить хорошую отправную точку.

Есть много других дополнений к документации Google, которую вы обсуждали.

Надеюсь, что это поможет вам найти нужные детали!

Удачи


источник
привет, извините, если это глупо, но я новичок здесь! Почему это будет отклонено? Причина, по которой я спрашиваю, состоит в том, что я заметил, что никто не ответил на этот вопрос, и иногда (я так думаю) вам просто нужно уйти и выработать ответ самостоятельно. Вот и все, что я предлагал с некоторыми базовыми начальными точками, так что с этим не так?
+1, чтобы противостоять негативу. Плюс это дает хорошие ссылки :)
Даррен Янг
@Darren Young - спасибо, но меня просто интересовало, почему за него могут отказаться. Так что я могу использовать сайт лучше, но +1 всегда приветствуется!
@Копатель. Спасибо за эту информацию. Это материал начального уровня, который мне уже удалось найти. Я надеялся, что более старшие разработчики будут / будут прыгать и принять этот ответ немного дальше. +1
angryITguy
@giulio - спасибо, надеюсь, вы найдете информацию, которую ищете.
5

Официальное руководство разработчика Google

Я бы посмотрел руководство Google для разработчиков Android, которое включает в себя рекомендации и рекомендации по обеспечению соответствия вашего приложения внешнему виду приложения для Android.

Райан Хейс
источник
Спасибо. Я уже обнаружил Google SDK и руководство разработчика ( developer.android.com/guide/index.html ). Но обнаружил, что для разработки и развертывания приложений коммерческого уровня не хватает.
angryITguy
3

Две вещи, на которые я бы посмотрел. Одним из них является руководство по разработке Apple для создания приложений. Я знаю, что вопрос был о приложениях для Android, но всеобъемлющие принципы применимы и заставляют задуматься в стиле «приложения», который на самом деле сильно отличается от точки зрения дизайна настольных приложений.

Также я хотел бы взглянуть на Appcelerator Titanium, который является инструментом, который позволяет переносить код из среды типа javascript / web dev на собственный код на iPhone, iPad и Android. Я нашел это полезным способом быстрого создания небольших приложений. Вы можете скачать пример «Кухонная мойка», который, как следует из названия, демонстрирует все доступные встроенные функции. Я определенно рекомендую это как место для начала.

AlexC
источник
Спасибо, что посмотрел на Титаниум. Я обновил вопрос, чтобы помочь респондентам с тем, что я ищу в ответе.
angryITguy
2

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

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

  2. UI знакомство. Пользователь обычно взаимодействует со своим мобильным устройством не так, как настольные системы. Неси один вокруг. Возможно несколько моделей. Используй их. Используйте множество приложений и критикуйте (не функции, а), насколько они просты в использовании, при плохом освещении, в отражении движущихся транспортных средств и т. Д. Читайте и перечитывайте все различные мобильные устройства HIG. Узнайте, что нравится и не нравится пользователям в конкретной платформе пользовательского интерфейса, для которой вы пишете код.

  3. Причудливое знакомство. Некоторые из инструментов и библиотек являются новыми и имеют «причуды». Прочтите советы разработчиков по проблемам и решениям, чтобы не застрять, совершив ту же ошибку, на которую наткнулись миллионы других разработчиков. Я вижу слишком много вопросов о стековом потоке о том, как делать вещи, которые аппаратное обеспечение, API или модели распространения приложений даже не позволяют. Целые компании потратили впустую свое время, пытаясь сделать невозможное для магазина приложений для iPhone.

hotpaw2
источник
Интересно ... Можете ли вы дать какие-либо ссылки на сайты, которые охватывают эти темы?
angryITguy
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-уведомлений, мы можем использовать Cloud 2 Device Messaging, затем они изучили это и сделали это. в отличной манере.

Санкар Ганеш
источник
0

Гораздо важнее, чем технические подробности (которые можно освоить и которые не должны быть слишком сложными), это знать, что делать, для кого и сможете ли вы продать достаточно. Эта последняя часть все еще является проблемой для Android, в отличие от iOS.

Поэтому, прежде чем приступить к изучению разработки для Android, составьте четкую картину того, чего вы хотите достичь, как этого достичь и действительно ли это устойчиво.

fzwo
источник