Разработка для Android и мобильных устройств - захватывающая область развития. Поскольку это новая дисциплина, чего можно ожидать от разработчика Android для создания коммерчески надежных приложений с точки зрения навыков? Проблема, которую я и, как мне кажется, многие другие «новички» в этой технологии, хотели бы знать, это области технических навыков и развитие необходимых продвинутых тем, выходящих за рамки самих основ, предоставляемых Google. Существует много полезной информации, но она не разбита на категории дисциплины и порядка.
Обновление : посмотрите на это так. Если вы являетесь старшим разработчиком, и вам нужно, чтобы коллега ускорился на Android для конкретного проекта (на ваше усмотрение для этого вопроса), что бы вы сделали?
Ответы:
Есть несколько аспектов этого вопроса:
С технической точки зрения , отвечая на вопрос «Как?»
Есть несколько технологий для освоения, а также ряд «приятно иметь».
Номер один это Java . Android SDK основан на предположении, что все приложения написаны на Java . Хотя, возможно, есть некоторые новые сторонние решения для разработки в .net (см. Monodroid ), в конце концов, базовой ОС является Linux.
Второе затмение . Хотя существует множество сторонних SDK, некоторые из которых лучше, чем ADT, на Intellij или на Netbeans , усилия Google официально пока сосредоточены только на затмении.
Изменить: С января 2016 года Google официально поддерживает Android Studio в качестве официальной IDE.
В архитектуре Android есть ряд строительных блоков, для которых всегда будет полезна небольшая выдержка:
SQLite
Общие понятия о видео и аудио потоков, кодеков. Для OpenCore (android.media).
Рисунок OpenGL.
Веб-сервисы на основе REST, XML или JSON.
Понятия, относящиеся к архитектуре ARM для разработки собственного кода.
Кроме того, читая в моем хрустальном шаре, разработчики Android также должны знать свой Linux и хорошо владеть родными языками в тот день, когда Google отказывается от Java и заменяет его на go, или на какие-то другие вещи, которые они могут где-то готовить (см. Их инициативу « Native Client »). в домене браузера). Google уже выпустил NDK (Native Development Kit) для c и C ++, используя стандартный механизм JNI для дополнения Dalvik.
С коммерческой точки зрения отвечая на вопрос «Что?».
Разработчики Android должны быть пользователями Android, конечно. Однако не только пользователи мобильных телефонов, но и пользователи планшетов. Они должны на самом деле придерживаться позиции Джобса - всегда задаваясь вопросом: «Как я могу сделать это лучше с моим телефоном, планшетом или любым другим устройством, которое еще не продается на рынке бытовой электроники?».
Существует множество приложений для Android, у которых пока нет лидера на рынке, не обязательно связанных с мобильностью (или обычного скучного приложения «где ближайшая пицца?»). Вот несколько из них, которые я не могу выбросить из головы лично (пока у меня не будет больше времени ;-).
научите вашего ребенка рисовать и читать.
карточки для изучения иностранных языков.
UK-FreeSat TV-guide + пульт дистанционного управления.
Ваш здесь (рецепты кухни ... и т. д.).
источник
Если честно, я думаю, что вам нужно просто Google и сделать некоторые исследования.
Вот некоторые интересные ссылки, которые я нашел, которые могут предложить хорошую отправную точку.
Есть много других дополнений к документации Google, которую вы обсуждали.
Надеюсь, что это поможет вам найти нужные детали!
Удачи
источник
Официальное руководство разработчика Google
Я бы посмотрел руководство Google для разработчиков Android, которое включает в себя рекомендации и рекомендации по обеспечению соответствия вашего приложения внешнему виду приложения для Android.
источник
Две вещи, на которые я бы посмотрел. Одним из них является руководство по разработке Apple для создания приложений. Я знаю, что вопрос был о приложениях для Android, но всеобъемлющие принципы применимы и заставляют задуматься в стиле «приложения», который на самом деле сильно отличается от точки зрения дизайна настольных приложений.
Также я хотел бы взглянуть на Appcelerator Titanium, который является инструментом, который позволяет переносить код из среды типа javascript / web dev на собственный код на iPhone, iPad и Android. Я нашел это полезным способом быстрого создания небольших приложений. Вы можете скачать пример «Кухонная мойка», который, как следует из названия, демонстрирует все доступные встроенные функции. Я определенно рекомендую это как место для начала.
источник
Я часто нахожу 3 вещи, которые отсутствуют в новых мобильных разработчиках, после базовых навыков с требуемым языком (языками) программирования и знанием инструментов и библиотек SDK (которые не являются ракетостроением ... 14-летние разработчики по сообщениям разрабатывали приложения).
Разработка для стесненных условий. Процессор, память, отображаемые пиксели и доступный заряд батареи все более ограничивают возможности мобильных устройств. Некоторые программисты никогда не подвергались быстрому и крошечному программированию. Вы просто не можете думать так же, как решать проблемы, как вы, когда у вас есть стойка с 5 кВт мощности и охлаждения, и т. Д. Изучите некоторые приемы, которые старожилы использовали для кодирования отличных игр на 1 МГц процессоре с 48 КБ памяти, или что-то подобное. Возможно попрактикуйтесь в кодировании на Arduino или другом крошечном контроллере.
UI знакомство. Пользователь обычно взаимодействует со своим мобильным устройством не так, как настольные системы. Неси один вокруг. Возможно несколько моделей. Используй их. Используйте множество приложений и критикуйте (не функции, а), насколько они просты в использовании, при плохом освещении, в отражении движущихся транспортных средств и т. Д. Читайте и перечитывайте все различные мобильные устройства HIG. Узнайте, что нравится и не нравится пользователям в конкретной платформе пользовательского интерфейса, для которой вы пишете код.
Причудливое знакомство. Некоторые из инструментов и библиотек являются новыми и имеют «причуды». Прочтите советы разработчиков по проблемам и решениям, чтобы не застрять, совершив ту же ошибку, на которую наткнулись миллионы других разработчиков. Я вижу слишком много вопросов о стековом потоке о том, как делать вещи, которые аппаратное обеспечение, API или модели распространения приложений даже не позволяют. Целые компании потратили впустую свое время, пытаясь сделать невозможное для магазина приложений для iPhone.
источник
Я тренировал своих юниоров следующим образом.
источник
Гораздо важнее, чем технические подробности (которые можно освоить и которые не должны быть слишком сложными), это знать, что делать, для кого и сможете ли вы продать достаточно. Эта последняя часть все еще является проблемой для Android, в отличие от iOS.
Поэтому, прежде чем приступить к изучению разработки для Android, составьте четкую картину того, чего вы хотите достичь, как этого достичь и действительно ли это устойчиво.
источник