Андроид разработка или веб разработка

Что выбрать: мобильную или веб-разработку?

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

Несмотря на то, что популярностью пользуются оба направления, есть небольшой перевес в сторону веб-разработки: количество вакансий для создателей приложений на Android и iOS немного уступает таковым для веб-разработчиков, согласно данным Stack Overflow. В то же время заработная плата веб-разработчика ниже, чем у мобильных разработчиков, о чем свидетельствует статистика сервиса «Яндекс.Работа». Это обусловлено тем, что в веб-разработке доступно больше языков программирования: Java, C#, Go и многие другие, тогда как для той же iOS создание приложений в основном осуществляется с помощью Swift.

Что сложнее?

Мобильная разработка — это создание приложений для смартфонов и планшетов. И когда код становится сложнее, разработчику могут потребоваться расширенные математические знания в области алгоритмов, одного лишь языка программирования здесь будет недостаточно. В случае с веб-разработкой с упомянутыми трудностями можно не столкнуться: конечно, это направление не проще, однако за счет множества областей здесь может найти свое призвание даже новичок без опыта программирования. Вот только некоторые языки программирования, доступные веб-разработчику:

Что прибыльнее?

Если средний оклад веб-разработчика составляет около 100 000 рублей, то Android-разработчик запросто может получать и 115 000 рублей в месяц, а создатель приложений для iOS — около 130 000 рублей. Разница не слишком большая, но стоит учитывать, что это средние показатели по рынку. В отдельных стартапах заработная плата iOS-разработчика может превышать 200 000 рублей.

Вопрос предпочтений

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

Стоит только начать

Заняться изучением мобильной или веб-разработки можно как самостоятельно или в университете, так и с помощью портала GeekBrains. Отличие в том, что последний поможет стать профи в выбранном направлении всего за год. Для этого сервис разработал два расширенных курса — веб-разработчик и mobile-разработчик. Курсы отличаются только длительностью и наполнением: в обоих случаях по итогам обучения выдается свидетельство установленного образца, а в процессе студенты проходят гарантированную стажировку длительностью два месяца. Курс мобильной разработки на месяц меньше — за это время проходит изучение двух уровней Java, Swift, Android.

  • Общение с другими студентами и обратная связь
  • Домашние задания
  • Тестирования
  • Гарантированная стажировка
  • Участие в реальных проектах

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

Источник

Будущее мобильной разработки — веб, а не приложения

Светлана Шаповалова — коммерческий автор и переводчик, специально для «Нетологии» адаптировала статью Хью Дёркина с рассуждениями о будущем мобильной разработки и о том, что такое современный веб. Хью Дёркин, старший продакт-менеджер INTERCOM

Обсуждая будущее мобильной разработки, люди чаще всего размышляют о том, какая платформа для мобильных приложений победит — Android или iOS. В таких рассуждениях упускается одна важная мысль — пока все спорят о платформе, сами приложения скоро станут не нужны — их заменят мобильные браузеры.

Нативные приложения хороши, но не всегда

Нативные приложения — это те привычные нам приложения, которые мы устанавливаем на телефон: их разрабатывают под конкретную платформу (например, Android или iOS), поэтому им проще взаимодействовать с операционной системой. Есть сферы, для которых нативные приложения подходят лучше всего. Например, общение с друзьями, родственниками или коллегами — функции, которыми мы пользуемся ежедневно. Snapchat, WhatsApp или Facebook Messenger нуждаются в постоянном доступе к камере, микрофону и непосредственно самой ОС — поэтому они нативные.

Но все ли приложения должны быть такими? Интернет и браузеры сегодня неплохо справляются со многими задачами. Еще один плюс браузеров: неполадки с подключением у нативных приложений обычно решаются довольно быстро — однако в мире, где повсюду wi-fi и 4G-сети, такие проблемы практически исключены.

Читайте также:  Самый лучший андроид сегодня

Например, компания Patagonia уже отказалась от нативных приложений в пользу веба.

Надпись на скриншоте: «Пора прощаться. Спасибо, что пользовались приложением Patagonia для Айфона. Теперь у нас есть чудесный сайт, который прекрасно работает в любом мобильном браузере. Мы прекращаем поддержку приложения — можете удалить его с устройства».

Твит Адама Кмиека: «И что там говорили о том, что браузеры неуместны и нас ждет исключительно будущее приложений?»

Мы проводим в мобильных браузерах больше времени, чем кажется

Не только компании отказываются от нативных приложений — среднестатистический американец уже не загружает ни одного приложения в месяц. Это не значит, что мы проводим меньше времени в телефонах — это значит, что мы устали от приложений.

Каждый из нас знаком с Firefox, Chrome, Safari или Internet Explorer — привычными браузерами с адресной строкой, поисковой функциональностью, кнопками «вперед» и «назад». Но не только их мы используем ежедневно — все больше времени мы проводим в мессенджерах и социальных сетях, и они сами по себе становятся «оболочками» для веба.

Например, Фейсбук — это некий социальный браузер. С его помощью легко серфить, общаться с друзьями, вести дела и развлекаться. В обычных же браузерах приходиться самому искать контент, а Фейсбук сам преподносит его «на блюдечке», основываясь на интересах пользователя и его друзей.

Не так давно у встроенного в Фейсбук браузера появились кнопки «вперед» и «назад», возможности делать закладки и вводить нужный адрес.

А вот корпоративный мессенджер Slack— это наш рабочий браузер. В нем легко общаться и взаимодействовать с документами и данными. Раньше приходилось искать нужную информацию у сотрудников, рискуя упустить ту, о которой мы попросту не знали. Теперь благодаря ему мы в курсе всех новостей — работа стала проще и слаженней.

WhatsApp — это браузер для близкого общения с друзьями и знакомыми. Сами или в группах, мы постоянно поглощаем персонализированный контент от ближайших контактов. Это самый «личный» способ взаимодействия с вебом.

Приложения, о которых говорится выше (Фейсбук, Slack, Snapchat и WhatsApp) — это нативные приложения, требующие установки на телефон. Однако важно другое — в них появляются новые функции, которые убивают потребность в посторонних приложениях. Благодаря смарт-интеграции с внешними разработчиками можно получить ошеломляющее количество новых функций и возможностей, поэтому мы вряд ли когда-либо откажемся от этого нового типа браузеров.

Суть популярности мессенджеров и социальных браузеров в том, что для потребления всего необходимого контента хватает буквально трёх приложений. Не удивительно, что Facebook, Google и прочие инвестируют в эту сферу.

Владеешь браузером — владеешь аудиторией.

Согласно comScore, 50% всего времени, проводимого в телефоне, пользователи тратят в одном наиболее используемом приложении; и почти 80% — в трёх.

Боты — новой способ пользоваться интернетом

Что же в них такого впечатляющего?

Еще с 90-х годов важная составляющая операционных систем — закладки: иконки рабочего стола, пусковые меню. В десктопных браузерах мы полагались на различные их виды: сохраняли ссылки и доменные имена; устанавливали тулбары для доступа к сервисам вроде MSN News, Google Search или Yahoo! Mail. Мы вручную организовывали весь нужный нам контент.

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

Теперь боты организовывают контент, а не мы.

К примеру, функция «@music» в Telegram. Для поиска и прослушивания музыки она использует встроенную клавиатуру — не надо даже набирать текст. А еще мгновенно обновляет доступные пункты, пока пользователь листает результаты.

Так что вместо отдельных нативных мобильных приложений (вроде Spotify) или поиска музыки в обычных браузерах, боты дают пользователям весь спектр возможностей, например, заказывать, резервировать, покупать, не выходя из полюбившихся социальных приложений или мессенджеров.

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

Что это значит для новых стартапов

Не iOS и не Android — веб есть и будет самой популярной операционной системой в мире. Важно, чтобы новые компании, производящие программное обеспечение, не делали упор лишь на нативные iOS- или Android-приложения. Необходимо использовать новую волну мобильных браузеров — мессенджеры. Разработка приложения для iOS или Android ради призрачной вероятности успеха бессмысленна.

Читайте также:  Android tv x86 oreo iso

Контент распространяется там, где люди проводят больше всего времени — сегодня это социальные приложения и мессенджеры — новая модификация мобильных браузеров в мире, который всё больше наполняют боты.

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.

Источник

Мобильный web сайт или мобильное приложение?

Данное эссе дает обзор аргументов, приведенных в различных статьях для принятия решения, какую платформу выбрать при разработке проектов для мобильных устройств. В конце приведена попытка составить схематический итоговый алгоритм выбора платформы.

Определения

Существует два направления технической реализации проектов для мобильных устройств: мобильный web сайт и мобильное приложение.

Мобильным web сайтом будем считать специализированный сайт, адаптированный для просмотра и функционирования на мобильном устройстве. Сайт может включать в себя интерактивные компоненты с использованием JavaScript, HTML5, новых API браузеров. В этом случае такую реализацию называют web-приложением. Далее, чтобы избежать путаницы любой вариант, работающий внутри браузера мобильного устройства, будем называть web-сайтом.

Мобильное приложение – это специально разработанное приложение под конкретную мобильную платформу (iOS, Android, Windows Phone). Обычно приложение разрабатывается на языке высокого уровня и компилируется в нативный код ОС, дающий максимальную производительность.

Существует еще третий вариант – мобильное приложение, включающее в себя компонент браузера. В этом случае часть мобильного приложения чаще всего используется для навигации и интергации с ОС, а web-компонент – для показа контента. Обычные пользователи не могут зачастую отличить такой вариант от нативного мобильного приложения.

Аргументы

Интерфейс

Одним из первых аргументов, которые приводят сторонники приложений – наиболее близкий к ОС и привычный для пользователей интерфейс. Действительно мобильное приложение наиболее тесно интегрировано с платформой и дает реализовать привычный отзывчивый интерфейс. С другой стороны web сайт с помощью хорошего форматирования и использования JavaScript может дать вполне понятный метод взаимодействия. На текущий момент отзыв web сайта значительно уступает приложению, но мощность мобильных устройств продолжает расти и сами браузеры существенно меняются в лучшую сторону. Кроме того, различные версии мобильных ОС могут диктовать свои стандарты, которых приходится придерживаться. При этом некоторые нововведения могут оказаться не совсем понятны обычным пользователям. Существенным в данном случае является то, что наиболее активными пользователями (теми кто выставляет рейтинг и делает комментарии в магазинах приложений) являются те, кто «фанатеет» от последних новшеств мобильной ОС. На это стоит обратить внимание при продвижении проекта – их можно использовать как союзников, помогающих распространению.

Быстродействие

Web сайт, а особенно интерактивный, существенно уступает приложению с точки зрения быстродействия. Браузеры мобильных устройств пока не могут порадовать высокой производительностью, кроме того, web-разработчики используют не самые оптимизированные версии библиотек (плохая реализация этих библиотек никак не сказывается на «больших» браузерах, поэтому с этим там можно смириться). Однако и приложение не всегда может радовать хорошим быстродействием – излишняя анимация, сложный интерфейс значительно снижают «отклик». Кроме того, для сложной графики и анимации приходится использовать языки более низкого уровня, разрабатывать или покупать отдельные специализированные библиотеки.

Интеграция с платформой

В этой области приложения далеко опережают сайт. В приложении существенно больше возможностей для доступа к устройству. Однако выше упоминался уже третий вариант, когда компонент браузера внедряется в приложение и в этом случае такая разница нивелируется. Кроме того, постоянно растет уровень предоставления доступа к возможностям устройства из браузера через расширяющийся набор API.

Наличие Интернет

Web сайт запускается из браузера, поэтому требует постоянного соединения с сетью. Это не имеет значения, если проект реализуется исключительно как онлайновый. Однако даже в этом случае из-за особенностей мобильного доступа в Интернет переход между частями приложения (навигация) связана с неприятными для пользователя задержками. Возможно, использование API для хранения локальных данных решат эту проблему, но пока примеров такого применения найти не удалось. Мобильные приложения могут осуществлять работу без подключения, выполняя кеширование и обновление данных, если требуется, при появлении соединения. Но все же и приложению нужно подключение в подавляющем большинстве бизнес-решений.

Фрагментация

Для реализации проекта на всех или каких-то определенных платформах требуется разработать приложение для каждой из платформ отдельно, причем на каждой свои среда и язык разработки, свои стандарты интерфейса. В случае мобильного сайта одна версия должна покрывать потребности всех платформ. Так выглядит в теории. Но на практике оказывается, что браузеры на различных платформах функционируют по-разному. Приходится поддерживать либо несколько версий одного сайта, либо в коде подстраивать выдаваемый контент под текущий запрос. Существенные отличия в размерах экрана также сказываются и на верстке сайта.

Читайте также:  Реальная оперативная память андроид
Ресурсы

Существует такой аргумент, как наличие специалистов. Считается, что специалиста для разработки мобильных приложений очень трудно найти и требуется очень высокая оплата. Учитываем еще то, что под каждую платформу, скорее всего, потребуется отдельный разработчик. В то время как web разработчиков очень много и их услуги сравнительно меньше стоят. Видимо все зависит от конкретной ситуации и конкретного места. Если в наличие есть web-разработчик, то наиболее выгодным будет разработать именно web сайт, если есть мобильные разработчики, то вполне может оказаться не слишком затратным разработка приложения. Но опять же, зависит от проекта – если потребуется серверная часть (а она скорее всего потребуется), то опять же нужен будет web-разработчик, хотя возможно не такой высокой квалификации и трудоемкость его части будет существенно ниже.

Публикация

Приложения некоторых платформ «завязаны» на определенный магазин (AppStore, Windows Store). Даже если такой жесткой привязки нет, то пользователи все равно привыкли находить приложения в магазинах (Google Play). Такие магазины накладывают существенные ограничения на функции приложений (в первую очередь в области платных услуг), к тому же требуется значительно время на утверждение каждой новой версии. Со своей стороны web сайт доступен сразу, достаточно только открыть браузер и ввести адрес (хотя если присмотреться, то это довольно трудоемкое действие может оказаться). Новая версия web сайта доступна сразу на момент публикации. Возможность предоставления платных услуг никак не ограничивается. Опять же аргумент весьма своеобразный – с одной стороны ограничение и медленная публикация в магазине, с другой – в магазине уже есть огромное число пользователей и уже готовые системы для оказания платных услуг. Тогда как на сайт пользователей надо привести и оплата через сайт на мобильном устройстве остается очень трудоемкой процедурой.

HTML5

Большое внимание в последнее время уделяется аббревиатуре HTML5. Это понятие существенно отличается, если смотреть на него с маркетинговой или технической точки зрения.

Технологически HTML5 это дальнейшее развитие языка разметки HTML. Однако сделан существенный шаг в сторону большей структуризации представления, нежели формата отображения. В язык добавлены большие мультимедийные возможности для проигрывания аудио и видео. Добавлена возможность работать с графикой. Существенно расширен язык форматирования CSS. В язык JavaScript добавлено несколько API для работы с графикой, локальными данными, мультимедийным контентом. Сам язык существенно переработан в сторону увеличения быстродействия. Стандарт HTML5 все еще находится в разработке и продолжает дополняться.

С маркетинговой точки зрения HTML5 это гораздо более широкое понятие. Под ним понимают еще много дополнительных API в той или иной степени поддерживаемых различными браузерами, многие интересные расширения CSS (в первую очередь в области интерактивного отображения). Основой понятия является высокая интерактивность сайта, которая позволяет пользователям принимать его за нативные приложения.
С точки зрения мобильной разработки существенно разделять обычный web сайт и сайт с использованием HTML5 не имеет смысла. Фактически стандартом любого сайта становится интерактивность в той или иной мере, реализованная с помощью JavaScript и новых API. Не целесообразно выделять отдельно разработчиков web сайта и разработчиков HTML5 – web разработчик должен свободно владеть технологиями HTML5 и использовать их в случае, если проект удобно реализовать с помощью последних разработок.

Выводы

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

С точки зрения экономии ресурсов самым предпочтительным вариантом выглядит web разработка. Главное – не погрязнуть в тонкостях реализации, предоставить наиболее полезные функции пользователям. Помнить, что главное – контент, а «красивости» (анимация, графика) отходят на второй план.

Если планируется онлайн работа проекта как основной вариант взаимодействия с пользователем – безусловно, надо начинать с сайта, который может охватывать не только мобильных клиентов, но и пользователей стационарных компьютеров. В случае успеха можно далее реализовать отдельно мобильные приложения на выбранные платформы. Для большинства бизнес-приложений такой вариант наиболее подходит.

Если проект предусматривает больше оффлайн работу и нацелен на мобильных пользователей, то тут стоит отдать предпочтение приложениям. Однако, как упоминалось выше, возможно web разработчик все равно потребуется.
Для реализации игр и других приложений, требующих высокой производительности интерфейса вероятно дальновиднее реализовать через приложения. Существуют кросс платформенные библиотеки для разработки игр, которые позволяют на одном коде (или с минимальными изменениями) реализовать нативные приложения для различных платформ.

Источник

Оцените статью