Кроссплатформенная разработка в настоящее время является популярным направлением разработки, React Native добился в этом плане больших успехов, большое внимание также привлекла Flutter. React Native использует веб-фреймворк для разработки и использования Native UI для рендеринга, что значительно снижает порог для Native-разработки и повышает эффективность итерации, но неизбежно возникают некоторые недостатки.
Как многолетний опыт разработки RN, я знаю, что некоторые технологии не могут быть хорошо решены в существующих средах, таких как RN. Например, скорость первого экрана, сложная последующая анимация и опыт на родных Android и iOS имеют определенный разрыв. Конечно, эти маленькие баги не могут помешать развитию технологии кроссплатформенной разработки. Также продолжаю обращать внимание на Flutter, этот фреймворк решает проблему производительности на RN, но и удорожает обучение.
Lynx
недавно обнаруженныйНовый фреймворк для кроссплатформенной Lynx, из официального введения, этот фреймворк все еще находится в состоянии альфа-версии, полной документации пока нет, только демо-версия опыта. Тем не менее, познакомившись с демо-версией этого фреймворка, я чувствую, что могу продолжать уделять внимание. Lynx официально заявляет, что имеет ту же первую скорость экрана и интерактивный опыт, что и Native.Посмотрев демоверсию, я обнаружил, что первая скорость экрана и взаимодействие действительно превосходны.
опыт
Непосредственно перед компиляцией RN и Flutter скачали Android SDK и NDK, следуйтеHow To BuildЕго удобнее компилировать.
конечный эффект иофициальная анимацияЭто то же самое, то есть общая демка все еще относительно небольшая и немного проще. Процесс разработки страницы еще не опробован, поэтому я могу только сначала увидеть эффект.
Во введении Lynx я увидел несколько отличий от других существующих кросс-платформенных фреймворков.Согласно собственному опыту и официальному представлению, коротко скажу:
- Отображение первого экрана страницы, вы можете видеть из приведенной демонстрации, это то же самое, что и нативные страницы Android и iOS, это можно сделать прямо, и в основном нет ситуации с белым экраном. Это действительно хороший момент по сравнению с RN.
- Интерактивная анимация, то есть с ручной анимацией реально сложно добиться такой анимации на RN (потому что посередине слой JSBridge), либо можно самому расширить модуль Native. Интерактивная анимация в демо очень плавная, нет задержек, а эффект даже выше, чем частота кадров во Flutter.
- JSBinding механизмСогласно официальному заявлению, существует более эффективный jsbridge, но я не чувствовал его в опыте на данный момент. Я буду изучать код позже.
- Тест динамического выпуска, это обязательно для всех кроссплатформенных фреймворков, ничего нового. Это введение в документацию нужно совместить со скаффолдингом lynx-cli.
Каков принцип реализации прямого отображения страницы и полнокадровой интерактивной анимации? Чиновник дает простойСхема рабочего процесса и введение. Поняв это, вы в основном знаете ответ на этот вопрос Причина, по которой страница отображается быстро, заключается в том, что отображение первого экрана превращается в файл верстки, таким образом пропуская шаги выполнения JS для создания элементов первого экрана, и реализация интерактивной анимации также осуществляется через промежуточный движок интерактивной анимации, он отвечает сразу после получения события, таким образом пропуская промежуточные шаги JS.
После знакомства с Lynx я чувствую, что этот фреймворк все еще стоит посмотреть, чтобы увидеть, на что он способен.
наконец
Фреймворк Lynx все еще находится в стадии альфы, пока что его нельзя напрямую использовать для разработки запускаемых приложений, и функции еще не завершены, но вы можете обратить внимание на его развитие, ведь эта технология отличается от RN с точки зрения реализации, и я надеюсь, что появятся новые идеи, которые преодолевают существующие ограничения, удовлетворяя при этом уже существующие потребности.
Попробовав демонстрацию, будьте готовы взглянуть на код и взглянуть на внутреннюю реализацию. Склад Lynx также предоставляет список API, которые можно использовать, и будет следовать простым практикам, основанным на API. Есть надежда, что появится больше кросс-платформенных сред разработки, которые будут способствовать развитию технологий.
Прикрепите адрес склада Lynx: https://github.com/hxxft/lynx-native