Виды приложений, нативные, веб-приложения, кроссплатформенные, Unlim (Анлим)

Почему нативные приложения лучше гибридных?

С чего вы начинаете своё утро? Раньше люди очень любили за завтраком почитать свежую газету, из которой узнавали о последних новостях, событиях в мире, находили объявления, читали анекдоты. Однако, светлое научно-фантастическое будущее уже наступило, и на смену газетам пришли смартфоны и планшеты, а рубрика анекдотов эволюционировала в целое приложение. Из приложений мы узнаём погоду, курс валют, новости, смотрим, где есть пробки, следим за деятельностью любимых артистов, листаем афиши и так далее. Они прочно вошли в жизнь современного человека. И современный человек частенько берётся разрабатывать их. И нередко бывает так, что он и понятия не имеет о том, что бывают нативные приложения, а бывают гибридные и web-приложения, не ведает он, как их отличить, и какой тип лучше подойдёт концепции его проекта.

О нативных и гибридных приложениях мы сегодня поговорим с Денисом Алтуховым — Android-разработчиком в Anadea.

Привет, Денис!
Привет!

Скажи, как профессионал: чем отличаются нативные приложения от гибридных?
Ну смотри: нативные создаются под конкретную платформу, будь то Android, iOS или Windows. Они пишутся на нативных языках — Java в случае Android и Objective C в случае iOS. Скачиваются исключительно из официальных магазинов.

Вроде PlayMarket?
Да, у нас это PlayMarket и AppStore для Apple. Установка и распространение ведётся через эти магазины. Открывается как отдельное приложение, имеет свои окна. Не-нативное, написанное на JavaScript — по сути, это приложение, которое открывается в браузере и там имеется какая-то мобильная вёрстка.

По сути, это web-приложение?
Да. И его преимущество в том, что оно кроссплатформенное — пишешь сразу под все платформы, Windows, Android и iPhone или что угодно откроют их. Но здесь накладывается такое ограничение, что ко многим техническим функциям, которые требует заказчик, ты не достучишься. К примеру, он хочет активную работу с камерой — в не-нативном ты этого не сделаешь. Не сделаешь и дизайн по гайдам, которые есть для iOS и Android.

В разных браузерах гибридное приложение может отображаться по-разному?
Оно может «плыть», но глобально всё будет выглядеть одинаково. Но, к примеру, если человек привык использовать Android, то он будет ожидать увидеть некоторые стандартные «андроидовские» штучки. И когда браузерное приложение свёрстано не так, как ты ожидаешь, это уже, говоря откровенно, раздражает.

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

Что значит нативное приложение?

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

Сталкивался с гибридными приложениями в своей практике?
Да. Например, год назад приходил проект, который как раз работал с картами — написан на JavaScript, в особой студии с трудом запускается, сам проект ломаный. Я кое-как смог его запустить лишь на эмуляторе iPhone!

О, Господи!
И это для того, чтобы хоть что-то увидеть! И то, осознать, что там происходит, было довольно трудно. В конце концов, заказчик пришёл к тому, что вместо одного гибридного он заказал два нативных приложения — для iOS и для Android.

То есть, он просто потратил время?
Да.

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

Именно поэтому не-нативные приложения чаще низкого качества?
Да — они «вылетают» или некорректно работают, потому что кто-то пришёл со стороны. Ещё одним проблематичным аспектом «гибридов» является организация нотификаций. Может там эти сервисы как-то и работают, но, к примеру, сейчас мы работаем над социальным приложением для обмена фотографиями, и там в iOS и Android нотификации строятся совсем по-разному. Вот тебе весомое отличие. Как будут выглядеть нотификации в web-приложении на заявленных трёх платформах (iOS, Android, Windows), где у каждой свои индивидуальные особенности… да кто его знает?

А что касается безопасности?
Здесь гибридные тоже проигрывают. Apk-файл ты можешь скачать только из одного места — из магазина. Плюс у тебя есть возможность перед тем как выложить приложение стандартными инструментами всё зашифровать, скрыть реализацию и так далее. Помимо шифрования, используется ещё такая вещь, как proguard — она разбивает ссылки, стирает имена. В не-нативном ничего этого нет, а это значит, что кто угодно сможет его разобрать, украсть твой код, скачать из каких-то других мест.

То есть, сейчас гибридным приложениям до нативных ещё очень и очень далеко?
Разумеется. Смысл в них есть, если ты разрабатываешь что-то очень простенькое, обобщённое, если бюджет невысок и сроки поджимают. Что-то, что не требует всех мощностей устройства, не привязывается к «железу». Если же требуется весь функционал, то в родных операционных системах Google и Apple уже встроена целая гора методов и способов работы с камерой, картами, bluetooth и прочим. И конечно же это будет лучше и качественнее, нежели пере-изобретённый велосипед от каких-то третьих разработчиков.

Абсолютно с тобой согласен. Спасибо, что нашёл время побеседовать!
Всегда пожалуйста.

Подведём итоги нашей беседы с Денисом:

  • если вам требуется высокая скорость работы и ваше приложение будет непосредственно использовать «железо» (камера, оперативная память, видеочип, bluetooth, wi-fi, экран и прочее) устройства — разрабатывайте нативное приложение;
  • если вас интересует высокий уровень безопасности — разрабатывайте нативное приложение;
  • если вы работаете над действительно большим проектом — разрабатывайте нативное приложение;
  • если же вам нужно что-то очень простенькое и вышеперечисленные пункты вашему проекту не нужны — тогда можно обойтись и гибридным приложением.

Mobile

ВАС МОГУТ ЗАИНТЕРЕСОВАТЬ ДРУГИЕ СТАТЬИ

Нативный vs. кроссплатформенный: различия подходов в разработке мобильных приложений

11 апреля 2018

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

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

Эта статья призвана объяснить два подхода в разработке приложений – нативный и кроссплатформенный, помочь заказчику и разработчику лучше понять друг друга, подчеркнуть преимущества и недостатки каждого и попытаться ответить на главный вопрос: как сделать выбор в пользу того или иного подхода.

Нативный подход
Для каждой платформы существует свой нативный язык, родной для каждой операционной системы и рекомендуемый производителем: для iOS это Objective-C или SWIFT, для Android – Java или Kotlin, а для Windows Phone – C#. Нативное приложения встраивается в программное обеспечение мобильного устройства и загружается через официальный магазин Apple, Google Play и Windows.

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

Кроссплатформенный подход
Когда был выпущен первый iPhone в 2007 году, все было просто: пользователи смартфона хотели приложений и iPhone был единственным устройством, о котором должны были думать разработчики. Их задача заключалась в том, чтобы принять концепцию приложения, выработать его логику, записать адаптированный код и все, – работа выполнена. Никто не волновался о межплатформенной совместимости и не думал о разработке кроссплатформенных мобильных приложений.

Затем появились смартфоны, работающие на операционной системе Android и изменили существовавший порядок вещей. Всплеск Windows Mobile и устройств, основанных на Symbian и BlackBerry, еще больше осложнили ситуацию.

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

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

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

Кроссплатформенные приложения часто создаются на языке разметки и стилей (HTML , CSS и JavaScript), как и мобильные сайты. Это жизнеспособный подход, потому что в конце концов, большинство интернет-контента состоит из HTML¬-страниц.

Нативное приложение: все, что важно о нем знать

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

Большинство специалистов, работающих с такими приложениями, используют систему PhoneGap, которая подходит для предоставления приложениям доступ к большинству программных и аппаратных возможностей платформы.
Если рассматривать подходы в процессе разработки приложений для персональных компьютеров, то MS Word, Skype, почтовые агенты и календари – это нативно разработанные приложения под настольную операционную систему, а все, что происходит в браузере (сайты, онлайн-редакторы, социальные сети, чаты и форумы) – это кроссплатформенные технологии.

Сравнение подходов
Рынок приложений изменяется. Статистика продаж мобильных приложений показывает, что год от года пользователи меняют сервисы «по умолчанию» на альтернативные: используют Evernote вместо стандартного редактора заметок и предпочитают Wunderlist, а не встроенный менеджер задач.

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

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

Пользовательский опыт
На подсознательном уровне пользователь ждет от приложения отзывчивости. Затем, за действиями потребителя следует ответная реакция, прокрутка страницы и анимация протекают плавно и без зависаний.
Кроссплатформенные приложения в этом плане уступают нативным – они тормозят и это основная проблема.

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

Дизайн интерфейса
Языковая среда, в которой разрабатываются нативные приложения, обладает необходимыми инструментами для создания привычного пользователю интерфейса. Иная ситуация с веб-технологиями: нужно немало усилий, чтобы сделать кроссплатформенное приложение, которое будет похоже на нативное.
Кроссплатформенные фреймворки помогают с той или иной степенью достоверности подражать нативному интерфейсу, но скорость анимации, эффекты и дизайн будут различаться.

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

Ограничения
Нативное приложение, написанное под определенную платформу, чувствует себя полноправным обитателем и получает доступ ко всем сервисам устройства.

Разрабатывая кроссплатформенное приложение специалистами учитываются возможности фреймворка, который налагает ограничения.

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

Цена
Нативное приложение разрабатывается под каждую платформу с учетом всех особенностей, тем самым делая мобильное приложение более гибким и масштабируемым. Это преимущество позволяет добавлять функционал и улучшать приложение в будущем. При этом, нативная разработка требует, как минимум, двух разработчиков, специализирующихся на разных платформах (iOS и Android). Все это делает нативный подход в разработке мобильных приложений дороже, чем кроссплатформенный.

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


Приложение подгоняется сразу под несколько операционных систем и нет необходимости в подготовке уникальных элементов для каждой платформы. Для создания кроссплатформенного приложения нужен всего лишь один специалист, владеющий HTML, JavaScript и CSS, имеющий опыт работы в PhoneGap. Это дает возможность начать разработку с меньшим бюджетом.

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

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

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

Лучшие нативные игры под Ubuntu / Linux

Рассмотрим с два десятка одних из лучших игр доступных для запуска под Ubuntu / Linux, которые работают без использования различных эмуляторов или Wine.

В качестве обзорного ролика было взято одноимённое видео с Youtube.

Краткое описание и ссылки для скачивания на игры:

23. CoreBreach

Жанр: Гонки, Action

Статус: доступна в ЦП за 6.99$ / есть демо

Краткое описание:

Боевая гоночная игра с широким выбором кораблей, оружия и гоночных треков.

Установить демо

22. Machinarium

Жанр: Квест

Статус:Платная 10$

Краткое описание:

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

Ознакомиться

21. Cogs

Жанр: Головоломка

Статус: платная 9.99$

Краткое описание:

Игроку предстоит решать увлекательные головоломки из различных механизмов, переставляя их как в «пятнашках». Игра отличается отличным графическим исполнением и включает 50 уникальных уровней.

Ознакомиться

20. Spiral Knights

Жанр: MMORPG

Краткое описание:

Игроку предстоит играть за спирально рыцаря и путешествовать по планете Clockworks со всеми игровыми элементами свойственными онлайн РПГ: крафтинг оружия из собранных материалов, участие в акционах, походы в подземелья и т. п.

Перейти на сайт игры

19. Xonotic

Жанр: Шутер

Статус: бесплатно

Краткое описание:

Xonotic является форком Nexuiz и в основном ориентирована на игру в режиме мультиплеера. По геймплею схожа с Quake III Arena, OpenArena или Warsow.

Установить

18. Steel Storm

Жанр: Аркадная стрелялка

Статус: Платная. В ЦП за 4.99$

Краткое описание:

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

17.

Почему нативные приложения лучше гибридных?

Amnesia

Жанр: Adventure, Horror

Статус:Платная

Краткое описание:

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

Ознакомиться

16. Jets’n’Guns

Жанр: Горизонтальный скролл-шутер

Статус: Платная

Краткое описание:

Игрок начинает в качестве наемника, занимающегося искоренением космической преступности. Суть большинства миссий сводится к уничтожению войск диктатора Ксокксса, уточнению местоположения похищенного профессора и квантовой пушки, грозящей уничтожить вселенную.

Ознакомиться

15. Sacred Gold

Жанр: RPG

Статус: Платная

Краткое описание:

Огромный мир с колоссальным числом видов монстров, оружия, доспехов, квестов, множеством способов развития героя. В целом достойный наследник легендарного Diablo.

Ознакомиться

14. Doom 3

Жанр: FPS

Статус: Платная

Краткое описание:

Капитан Стивенсон снова возвращается встрой и сражается с полчищами адских тварей. В очередной раз кидаясь в бой за спасения человечества.

Ознакомиться

13.

X3 Reunion

Жанр: Космический симулятор

Статус: Платная

Краткое описание:

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

Ознакомиться

12. Regnum Online

Жанр: MMORPG

Краткое описание:

Выбирайте одно из трёх враждующих королевств и штурмуйте вражеские замки.

Установить

11. Alien Arena

Жанр: FPS

Статус: бесплатно

Краткое описание:

Игра обладает Quake-подобным геймлеем и позволяет играть в одно- и многопользовательских режимах. Отличается отличной графикой с поддержкой движка для частиц и эффектов, высоким разрешением текстур кожи, отражением в воде и т. п.

Установить

10. Neverwinter Nights

Жанр: RPG

Статус: платная

Краткое описание:

Культовая RPG. Механика которой основана на третьей редакции Dungeons & Dragons, а действие разворачивается в фэнтезийном мире Forgotten Realms.

Ознакомиться

9. Penumbra Series

Жанр: Action, Adventure, Stealth

Статус: платная

Краткое описание:

Одна из самых атмосферных мистических игр с отличной графикой и реалистичной физикой.

Ознакомиться

8. Shadowgrounds & Shadowgrounds Survivor

Жанр: Action

Статус: платная

Краткое описание:

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

Ознакомиться

7. Quake 4

Жанр: Action, Adventure

Статус: платная

Краткое описание:

Продолжение саги битвы с ужасающими киборгами-людоедами.

Ознакомиться

6. World of Goo

Жанр: Логическая

Статус: платная. В ЦП за 19.95$

Краткое описание:

Суть игры в создание различных фигур из шариков Goo и направлении их до трубы с выходом.

5. Prey

Жанр: Action (Shooter)

Статус: платная

Краткое описание:

Индеец-чероки Томми Хоку в одиночку отправляется сражаться с инопланетянами похитившими всех жителей резервации. В чем ему будут помогать дух давно усопшего дедушки.

Ознакомиться

4. Shank

Жанр: Аркада, двухмерный платформер

Язык интерфейса: Английский

Статус:

Краткое описание:

Заточки, бензопила и пара пистолетов с самого начала позволяют творить сумасшедшие вещи. Кромсать, пилить, резать и решетить врагов приходится без перерыва, соединяя удары в длинные и красивые комбо-серии.

Ознакомиться

3. Trine

Жанр: Adventure, Platform, Puzzle

Статус:Платная $9.99

Краткое описание:

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

Ознакомиться

2. Oil Rush

Жанр: RTS

Статус: платная. В ЦП за 19.95$

Краткое описание:

Игроку предстоит управлять и развивать производственные платформы, а также защищать их от нападения вражеских войск и самому осуществлять захват платформ и нефтяных скважин противника.

1. Heroes of Newerth

Жанр: RTS, MOBA

Статус: бесплатно

Краткое описание:

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

Установить

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

За ссылку на ролик с обзором, спасибо Сергею Фещукову.

Добавить комментарий

Закрыть меню