Разработка приложений под Android
Android — операционная система для коммуникаторов, планшетных компьютеров, электронных книг, цифровых проигрывателей, наручных часов, нетбуков и смартбуков, очков Google и других устройств, основанная на ядре Linux и собственной реализации Java от Google. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать (но не отлаживать) библиотеки и компоненты приложений, написанные на Си и других языках. В 70,1 % смартфонов, проданных в четвёртом квартале 2012 года, была установлена операционная система Android [1].
Свой опыт
Программировать под Android я начал в 2012 году. После изучения основ программирования с помощью Android SDK, мы с друзьями начали писать не большие сервисные приложения, например для управления контроллера электромотора на велосипеде. Это был интересный проект потому, что я приобрел навыки работы с коммуникацией по средствам Bluetooth, а так же опыт работы в команде с удаленными разработчиками. После успешного завершения проекта я начал более углубленно изучать систему Android. В частности защиту от получения различных пользовательских данных в фоновом режиме и уменьшения вероятности взлома приложения. Я считаю, что приобретенный опыт проверки безопасности собранного Android приложения является очень важным с точки зрения защиты авторского права. Оказалось, что довольно сложно защитить свое приложение или свои данные от злоумышленников. Основным инструментом злоумышленника является декомпилятор. Декомпилятор – это программа, позволяющая воссоздавать исходный код [2]. Распространненным средством борьбы с декомпиляцией является обфускация исходного кода. Обфускация или запутывание кода — приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции [3]. Так же существует проблема с подменой данных, хранящихся в памяти устройства. Тут помогает шифрование данных. Шифрование используется для предотвращения изменения информации при передаче или хранении. [4].
В общем не стоит забывать об вышеупомянутых проблемах.
Я надеюсь, что программисты, которые только начали писать под Android или только собираются начать эта информация будет полезной. Так же хотелось бы отметить, что не стоит бояться при поисках рабочего места, так как на текущий момент в Украине Android разработчики востребованы и работадатели, чаще всего, готовы платить достойную зарплату. Убедиться в этом можно посмотрев на популярных ресурсах для поиска работы, например таких как: work.ua, head hunter.
Список источников
- Википедия. Статья об Android [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/Android
- Википедия. Статья о понятии декомпилятор [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80
- Википедия. Статья о понятии обфускация [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%84%D1%83%D1%81%D0%BA%D0%B0%D1%86%D0%B8%D1%8F
- Википедия. Статья о шифрованиии данных [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
- Википедия. Статья о понятии декомпилятор [Электронный ресурс]. – Режим доступа: http://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80