я при просмотре документации и чтении кода не понял как это сделать):
1. Возможность писать нативно при желании. Можно только несколько экранов сделать на RN, а несколько нативно. (Это не значит, что я так буду делать, это значит мне нужна потенциальная возможность так сделать. Это "подушка безопасности", если что-то не реализуется на JS, я это могу написать нативно, пусть несколько раз, по кол-ву платформ, но по крайней мере могу.)
2. Возможность встроить нативные виджеты в RN View. (То же самое, только в меньшем масштабе)
3. В RN у меня есть возможность расширять JS api быстрыми синхронными вызовами (по крайней мере теоретическая), flutter общается с нативом только через очередь и изменить это у конечного программиста шансов нет.
4. React (jsx на самом деле) всё таки дает очень большую гибкость в определении того, что декларативно, а что нет и где код лежит.
5. В RN работая с нативным кодом, я использую наработанные много лет технологии, надежные и хорошо изученные. То же можно сказать о JS, если не кидаться сразу использовать экспериментальные фичи )))
6. Вот у нас сейчас есть шареный между вебом и мобилкой код. В вебе это 42% от всего приложения. В мобилке около 35%. это не компоненты, это api, модели данных, вспомогательные классы. Я слабо представляю как нормально код на dart использовать в веб, не цельно, а как отдельные библиотеки.
7. А и ещё. Я сейчас имею возможность отказаться от использования раздражающих меня вещей (типа setState в React, redux) и использовать то, что мне удобно (mobx). Теперь вопрос, есть ли у меня такая гибкость в Flutter? Из документации я понял, что нет.
Насчёт 7, если мы говорим о глобал стейт менеджменте, то у флаттера очень много решений, и пока не понятно какое лучше применять: scoped model, bloc, redux, mobx (последний кстати официальной командой поддерживается) Насчёт 6, у них же есть angular dart, поэтому теоретически тоже можно шерить бизнес-логику
Обсуждают сегодня