Можно ли (используют ли) один и тот же код (к примеру Angular или Vue) как для Веб, так и для Мобильных приложений?

Добрый день

Я являюсь бек-эндщиком, немного знаю js, нормально общаюсь с html и Bootstrap.
Уже довольно долгое время хочу попробовать rest и какой нибудь веб фронт (или Angular или Vue) + разработку мобильных приложений. Достаточно долго читаю разные статьи, но не могу найти ответ на интересующий меня вопрос.

Есть к примеру Бутстрап, который под размер браузера (как на компе, так и на мобильном телефоне) сам подгоняет шаблон.
Как я себе представляю, Angular или Vue тоже может подгонять шаблон под размер браузера.

Вопрос: Можно ли написанный код для сайта (Angular или Vue) использовать для мобильного приложения (так как в коде для сайта уже заложена разметка для мобильного телефона)? Т.е. по сути из сайта нужного размера я хочу сделать мобильное приложение.
Или для сайта один код, для мобилки - другой код, с единственной общей чертой - js + синтаксис или Angular или Vue?

Спасибо.
  • Вопрос задан
  • 2398 просмотров
Решения вопроса 1
sfi0zy
@sfi0zy
Creative frontend developer
Про Ionic для Angular уже сказали. Для Vue есть Weex. Позволяет собрать приложение под Android и под iOS. Я пробовал делать с ним небольшое приложение под ведроид. Могу выделить плюсы, которые увидел (возможно, что в большом проекте что-то будет по-другому):
- Vue из коробки, простой и понятный инструмент, что приятно
- Не тормозит
- Большая часть кода спокойно переносится из веб-версии без изменений
И минусы:
- Стартовать проект без знаний Java довольно непросто (ошибку при первой сборке искал часа три)
- Небольшое комьюнити, мало информации, на StackOverflow практически нет вопросов по теме

Для себя сделал вывод, что не стоит использовать Weex в ближайшее время в крупном бизнесе (есть риск провалить все сроки из-за нехватки информации), но для своих небольших приложений попробовать вполне можно, особенно если вам нравится Vue. Думаю стоит присматривать за развитием этого проекта - может быть через пол года/год его уже можно будет спокойно использовать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
vitali1995
@vitali1995
Вам нужно использовать что-то вроде Cordova или Ionic. Они используют фронтенд вашего веб-приложения и позволяют встраивать нативные возможности, делая их мобильным гибридным приложением. В нужных местах кода делается проверка, на какой платформе приложение выполняется (браузер или кордова) и исполняется платформо-зависимый код - таким образом вы пишете один код для разных окружений. Для настольных приложений есть похожие аналоги, например Electron или NW.js
Ответ написан
Комментировать
Был опыт написания подобного проекта. Задача - сделать мобильную версию, но пообещали, что за неделю сделаем приложение на основе мобильной версии. Делали на AngularJs + https://ionicframework.com/. Мобильная версия притормаживала, т.к. ионик накладывал свой оверхед + были проблемы на которые приходилось тратить время, например в ionic есть своя логика истории, кеширования страниц при переходе назад вперед и прочие мелкие моменты. Так же непонятно как управлять релизами, ведь мобильную версию можно просто обновить, с приложением так не прокатит. Для себя сделал вывод, что такой подход нужен для прототипов или первых версиях.
Ответ написан
Комментировать
dima9595
@dima9595
Junior PHP
Основная проблема, ну по крайней мере для меня бы было так, это верстка сайта под мобилку. Не разбирался с js фреймворками, но возможно будет так, что какой-то код для пк не будет работать под мобилки. Но это очень маловероятно. А так, по идеи, ни чего не должно сломаться.
Ответ написан
Комментировать
dosya97
@dosya97
Fullstack web-developer
Bootstrap это в большинстве случаев ui-фреймуорк. Vue, React, Angular - ux-фреймуорки. На них возможно больше чем адаптивный дизайн. В них строится бизнес логика проекта, что равносильна бэкенду.
Ответ написан
Комментировать
alexiusp
@alexiusp
senior frontend developer
Если приложение не использует никаких возможностей мобильной платформы, то никаких проблем использовать один и тот же код нет - адаптивная разметка (можно тот же bootstrap и angular совместить) и cordova в помощь. Можно также посмотреть в сторону недавно появившихся WPA - там даже компилировать под платформу и выкладывать в маркет не нужно.

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

Ionic, построенный на базе cordova и angular, тоже неплохое решение для гибридных приложений.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы