Native App
React Native (RN) был выпущен в 2015 году и также использует язык JavaScript для кроссплатформенной разработки приложений. В отличие от разработки H5, он использует технологию JS-моста для компиляции в собственный код для каждой платформы во время выполнения, который использует технологию Flux от Facebook.
Его характеристики:
-
Используя язык JavaScript, RN также легко принимается, поскольку JS широко используется.
-
RN опирается на среду выполнения JS, то есть на технологию JS-моста. Он использует архитектуру Flux от Facebook.
-
RN предоставляет только API-интерфейсы для рендеринга пользовательского интерфейса и доступа к устройствам, и многие функции должны полагаться на сторонние библиотеки для использования локальных компонентов.
-
В настоящее время экология относительно завершена, и многие компании ее используют, особенно те, кто знаком с JS, могут легко начать работу.
-
Поддерживает горячее развертывание, что может сэкономить много времени в процессе разработки.
Но и он не идеален:
-
Его метод рендеринга заключается в вызове собственных элементов управления каждой платформы, и иногда для разных платформ необходимо выполнять разные оптимизации.
-
По сравнению с H5 его производительность значительно улучшилась, но до конца она не решена, проблема белого экрана и выпадающих кадров все еще существует.
Традиционная модель разработки нативных приложений состоит из двух основных систем: IOS и AOS, которым требуются собственные языки для разработки собственных приложений.
Также существует множество кроссплатформенных приложений, использующих React Native. Это также главный объект сравнения с Flutter.
Преимущества: Преимущество в том, что текущая экология относительно зрелая.
Минусы: высокие затраты на разработку и выпуск.
- Возьми каштан: ПРИЛОЖЕНИЕ NetEase Butler (Tab1, Tab2)
- Технология применения: Swift, OC, JAVA
WebApp
Часто упоминаемая технология H5 на самом деле представляет собой веб-страницу + JavaScript. Например, некоторые популярные JS-фреймворки Vue, React, AngularJS и т. д. предназначены для создания веб-страниц. Веб-страницы, созданные для мобильных устройств, могут выполнять кроссплатформенные функции, но их недостатки также очевидны:
-
Эффективность рендеринга низкая, а пользовательский опыт оставляет желать лучшего. Многие H5 хорошо работают на платформе iOS, но производительность на Android, особенно на некоторых недорогих устройствах, действительно неудовлетворительна.
-
Веб-страницам сложно вызывать аппаратно-аппаратные API устройства, а поддерживаемых функций мало, реализация таких требований является недостатком H5.
-
Мобильные веб-сайты, часто называемые приложениями H5, представляют собой специальные веб-приложения, работающие в мобильных браузерах. Обычно относится к SPA (Single Page
-
Веб-сайт, разработанный в режиме Приложения, соответствует MPA (Многостраничное приложение, которое будет представлено позже).
преимущество: Самые низкие затраты на разработку и выпуск
недостаток: Производительность и опыт нельзя назвать худшими, но они также ограничены вычислительной мощностью браузера.Множественные загрузки также будут занимать определенное количество пользовательского трафика.
- Возьми каштан: ПРИЛОЖЕНИЕ NetEase Butler (Tab3)
- Технология применения: ReactJS, RegularJS и др.
Hybrid App
- Мобильное приложение гибридного режима, приложение между веб-приложением и нативным приложением, имеет как «преимущества хорошего интерактивного опыта нативного приложения», так и «кроссплатформенность веб-приложения».
- Преимущества разработки» (объяснение энциклопедии Baidu)
- Основной принцип заключается в том, что Native предоставляет унифицированный API через JSBridge и другие методы, а затем использует HTML+CSS для реализации интерфейса, JS для написания логики, вызова API и конечной страницы.
** Поверхность отображается в веб-просмотре. В этом режиме API Android и iOS в целом согласованы, а гибридное приложение имеет кроссплатформенные эффекты. **
преимущество:Удобно разрабатывать и публиковать, а эффективность находится между родным приложением и веб-приложением.
недостаток:Широкий спектр обучения, требует сотрудничества с местными жителями
- Возьми каштан: NetEase Cloud Music, мне нравится мое приложение
** Технология применения: ** PhoneGap, AppCan, Wex5
React Native App
Facebook обнаружил, что гибридное приложение имеет много недостатков и недостатков, поэтому запустил новый набор решений для разработки приложений с открытым исходным кодом, RN App. . Используйте язык JSX для написания нативных интерфейсов,
js вызывает собственный API для визуализации интерактивного взаимодействия с пользовательским интерфейсом через JSBridge.
преимущество:Эффективность близка к нативному приложению, а стоимость публикации и разработки ниже, чем у нативного приложения.
недостаток:Обучение имеет определенную стоимость, а документов мало, так что наступить на яму неминуемо
Например: Facebook, YouTube, Discord, QQ, Baidu и т. д.
WEEX App
- Основываясь на успешном примере RN, команда разработчиков Alibaba переработала набор моделей развития, стоящих на плечах гигантов, и имеет проекты команды Taobao в качестве подпитки, которые привлекли широкое внимание.
Он был официально открыт в апреле 2016 года и официально поддерживал Vue.js в версии v2.0, конкурируя с RN.
преимущество:Эффективность разработки и опыт сравнимы с RN, а кроссплатформенность сильнее
недостаток:Только начало, в сообществе нет активных RN
-
Возьмите каштан: Taobao, Tmall, Eleme и др.
-
Флаттер соленая рыба в ходу, а так же рекомендуют всем попробовать новые технологии от гугла, но похоже, что отечественных вакансий мало.Некоторые люди говорят, что написав это, они могут уехать за границу после 35 лет. (буду сомневаться)
Введение во флаттер
Flutter — это среда разработки мобильных приложений с открытым исходным кодом, запущенная Google. Разработчики могут работать как на платформах iOS, так и на Android, разработав набор кода.
Он использует язык Dart для разработки и, наконец, компилируется в собственный код каждой платформы, что не только обеспечивает эффективность разработки, но и обеспечивает эффективность работы каждой платформы. Это эквивалентно переписыванию структуры пользовательского интерфейса от начала до конца, независимо от компонентов, специфичных для платформы. Все его компоненты являются «Виджетами». Механизм рендеринга основан на эффективной библиотеке рендеринга Skia.
Flutter также увидел, что текущее кроссплатформенное решение не идеально, поэтому позаимствовал некоторые идеи из React Native и провел большую оптимизацию. Он компилирует код в собственный код и использует свой эффективный механизм рендеринга Skia для рендеринга непосредственно на каждой платформе, без мостов и без вызова зависимых от платформы элементов управления.
Эта дизайнерская идея отлично решает проблемы производительности разных платформ.
Благодаря его философии дизайна мы действительно можем реализовать набор кода, который работает на разных платформах. После его запуска количество разработчиков, следящих и связанных с ним руководств, росло намного быстрее, чем React Native в то время.
Особенности включают в себя:
- Используйте язык Dart, разработанный Google. Язык Dart является строго типизированным языком, хорошо поддерживает объектную ориентацию и прост в изучении и использовании.
- Использование собственного движка рендеринга Skia от Google, собственного движка Skia от Android и Flutter на платформе iOS также позволит упаковать движок Skia в приложение для достижения эффективного рендеринга.
- В настоящее время существуют очень богатые компоненты представления, которые могуткликните сюдаОзнакомьтесь с его каталогом компонентов, включая стили пользовательского интерфейса, обычно используемые в Android (Material Design) и стили iOS (Cupertino). Поскольку его рендеринг не зависит от различных компонентов, связанных с платформой, эффект от работы на разных платформах согласован.
- Он также поддерживает горячее развертывание, и вы можете увидеть эффект в режиме реального времени, как веб-разработка во время разработки.
Некоторые из проблем, с которыми он сталкивается в настоящее время:
- Внутренние учебные ресурсы в настоящее время не богаты, компании, использующие флаттер, относительно невелики.
- Связанная с ним экология не такая богатая, как у React Native, но скорость ее разработки значительно превышает скорость React Native.
Суммировать
Для кроссплатформенной разработки используется множество языков, таких как PWA, Uni App и т. д. На мой взгляд, у Flutter один из самых перспективных для развития, и хотя Flutter пока не очень популярен, я считаю, что за кроссплатформенными решениями будущее. Если новая система Google Fuchsia OS сможет стать такой же процветающей, как сегодняшняя Android, или даже заменить Android, разработка Flutter достигнет своего пика.
Если вы хотите сделать что-то вроде визитной карточки, чтобы больше людей узнали о вашем продукте, то, возможно, веб-сайта будет достаточно; но если основная функция продукта может быть обеспечена только родным приложением или вы хотите, чтобы пользователи иметь лучший опыт, более сильную липкость, тогда вам может понадобиться сделать собственное приложение.
Подробнее
Грядет волна крутых спецэффектов Flutter
Золото три серебра четыре, последнее резюме интервью в 2019 году
Никогда не заморачивались с алгоритмами, оптимизированными как пузырьковая сортировка?
Анимация: один трюк для изучения трехстороннего рукопожатия TCP и четырехсторонней волны
Что касается Gradle, достаточно получить замыкание Groovy
Верь в себя, нет ничего невозможного, только неожиданное
Здесь вы найдете не только технологии!
Наконец, если вас больше интересуют технологии, обратите внимание на мой публичный аккаунт в WeChat: Terminal R&D Department, id: codeGooger, давайте продвигать технологии вместе.