Как узнать, является ли Ionic правильным выбором для вашего проекта

kak uznat yavlyaetsya li ionic pravilnym vyborom dlya vashego proekta?v=1656556103

Саймон Гримм

PeQAhfKcm5j5Brohrf4pv8AEaO3h1Y-DCQSa

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

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

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

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

Если вы уже влюбились в Ionic или хотите узнать о ней больше, вы можете сделать следующий шаг с помощью моей эксклюзивной обучающей платформы Ionic Academy Ionic Academy. Он предлагает курсы, проекты и замечательное сообщество, которые помогут вам стать Ionic Developer.

Каков твой проект?

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

Во-первых, где вы хотите предложить программу? Внутри родных магазинов приложений, в Интернете, как PWA или даже как настольная программа?

Вашим ответом будет одна или их комбинация. Если вы ориентируетесь на многие платформы, Ionic будет хорошим выбором.

Если вам нужно только веб-приложение, создайте, например, чистый проект Angular. Если вам нужны только настольные приложения, используйте Electron или что-нибудь совсем другое. (На самом деле это не основное направление моего внимания).

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

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

Что подводит нас к приоритетам проекта. Если ваш приоритет – иметь лучшие 3D-визуалы, которые когда-либо видел приложение, перестаньте читать здесь. Это не вариант использования для Ionic, а что-то вроде Unity.

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

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

Какие навыки у членов вашей команды?

Когда у вас есть команда из 5 неразработчиков, только начинающих изучать, что такое массив, нет большой разницы между выбором фреймворка a или b. Если у вас есть команда из 5 разработчиков Angular, то вероятность выбора Ionic вдруг значительно растет.

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

Если у вас есть опытные разработчики с большими знаниями C#, почему бы не попробовать что-нибудь вроде Xamarin?

Если вся ваша команда знает React, почему бы не использовать React Native?

dllUJaoFXI6TMBOz-ca5azVGXSjQqg7Vys1D

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

Если у вас есть несколько веб-разработчиков с базовыми навыками JavaScript, Ionic – идеальная основа для перехода на мобильные приложения.

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

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

Объедините эти 2 элемента, чтобы увидеть, какой фреймворк может соответствовать!

Преимущества, которые вы получаете от Ionic

Как только вы решили, что Ionic может быть правильным, пора взглянуть на потенциальные преимущества его использования.

Codebase

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

Хотя это звучит ошеломляюще, это никогда не будет 50% (или больше) времени разработки по сравнению с созданием x проектов для каждой отдельной платформы, на которую вы нацеливаетесь. Иногда вам просто нужно позаботиться об особом поведении, поэтому вам нужно добавить такие предложения, как:

if (this.plt.is('ios')) {  // do ios Stuff}
if (this.plt.is('android')) {  // do android stuff}

Ionic уже делает все возможное, чтобы упростить этот процесс с помощью fa проекта под названием Capacitor. Это определяет один API, который работает как в Интернете, так и с родными SDK. На момент написания этого он еще не достиг стабильной версии, но выглядит очень перспективен на будущее.

Платформы

Поскольку Ionic делает ставки в Интернете, сегодня приложения Ionic могут работать почти всюду. Проект Ionic 4 – это веб-приложение, которое упаковывается в нужный контейнер для определенной платформы.

В Интернете это означает, что его можно развернуть прямо в таком виде. Как PWA вам нужно прокомментировать во фрагменте, и он готов. Для родных магазинов приложений (iOS/Android) Cordova упаковает ваше приложение. Cordova делает доступными базовые пакеты SDK и функции устройства. А для настольных компьютеров можно использовать Electron. Он уже используется такими приложениями, как Visual Studio или Slack.

Элементы пользовательского интерфейса

Если вы хотите объяснить Ionic очень (очень, очень) просто, это a отличная библиотека пользовательского интерфейса элементов. Особенно с обновлением версии 4, Ionic двигается в направлении, где его можно легко добавить в любой проект. Его компоненты теперь представляют собой веб-компоненты, созданные с помощью собственного инструмента Stencil.

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

Вы когда-нибудь видели приложение для iOS, разработанное для Android?

Он либо никогда не проходит проверку указаний Apple Submission, либо чувствует себя неправильно при использовании.

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

Поток инструментов и разработки

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

С Ionic 4 вы получаете мощность Ionic CLI предыдущих выпусков. Кроме того, вы можете без проблем использовать Angular CLI прямо в своем проекте!

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

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

В сочетании с дополнительной безопасностью TypeScript и отличным редактором, таким как Visual Studio Code, разработка приложений Ionic становится менее работой, а большей радостью.

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

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

Если вы ищете другое замечательное ионное сообщество, вы можете найти дружеское место в моей Ionic Academy.

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

Ionic Pro

Хотя Ionic является открытым и бесплатным, вы можете добавить другой набор инструментов с помощью Ionic Pro. Эта платная услуга добавляет дополнительные функции, такие как создание визуальных приложений вместе с разработчиком, улучшенный процесс развертывания (обновление приложений в реальном времени), мониторинг ошибок или каналы тестирования.

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

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

Области усовершенствования в Ionic

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

Производительность

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

В Интернете в целом это не проблема, поскольку приложения Ionic – это веб-сайт, как и все остальное.

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

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

Вы определенно можете создавать суперпроизводительные программы с помощью Ionic. Просто легче испортиться с производительностью, чем с фреймворком, который ближе к родному коду (или полностью родному).

Перезагрузить

Прохладная перезагрузка была преимуществом всего несколько абзацев назад а теперь это недостаток?

Чтобы понять это, нужно узнать разницу между живая перезагрузка и горячая перезарядка.

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

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

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

Нативные пакеты SDK

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

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

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

С другими фреймворками, такими как NativeScript, гораздо проще работать напрямую с родными SDK. Для Ionic вам все еще нужен мост между.

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

А как насчет новостей AirBnB и Facebook?

Возможно, вы слышали новости о прекращении работы AirBnB из React Native. Возможно, вы слышали от Цука более старые новости о том, что ставки на HTML5 были самой большой ошибкой Facebook.

Эти статьи вызывают много сомнений против общего кроссплатформенного подхода.

Является ли разработка кросс-платформы все еще ценной?

Краткий ответ: Да, больше чем когда-либо.

Чтобы понять, как эти компании приняли эти решения, вам нужно по-настоящему понять их бизнес и ситуацию. AirBnB имеет более 100 родных разработчиков. Сколько вашей компании?

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

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

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

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

Вывод

В этой статье мы прошли много шагов, чтобы увидеть, подходит ли Ionic для вашего следующего проекта или кроссплатформенного приложения. Благодаря более тесной интеграции Angular с Ionic 4 это отличный выбор для любого веб- и мобильного проекта. Но это всегда зависит от вашего бизнеса, приоритетов и факторов, которые вы цените!

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

Если вы хотите научиться создавать отличные программы с помощью Ionic, посетите Ionic Academy!

Первоначально опубликовано на devdactic.com 21 августа 2018 года.

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

Ваш адрес email не будет опубликован.