Обновление FlutterFlow от 23 октября
Да, каюсь, опоздал с обзором - но думаю лучше поздно, чем никогда. Да и кто-то все же должен внятно “обозреть” новые фишки FlutterFlow 😎
Начнем! Самое крутое, что добавили - это конечно же кастомная авторизация по API. Лично еще потестить не успел, но если все так, как написано, то… честно говоря это пушка-ракета и хочется прямо визжать от восторга)). Для тех, кто в недоумении сейчас подробно все поясню).
Итак, представьте ситуацию (кстати, довольно частую) – к вам обращается потенциальный клиент для разработки приложения и говорит: “У меня уже есть база данных, есть свои backend разработчики, от тебя мне нужно только приложение. Плачу много миллионов 💵”.
Круто! Но совсем недавно я бы в такой ситуации мучался сомнениями - а стоит ли такой заказ брать в работу… Почему?
Все дело в авторизации. До последнего обновления FlutterFlow поддерживал только 2 метода авторизации - через Firebase и через Supabase. Поэтому если у клиента свой бэк (и, следовательно, своя авторизация), то приходилось городить костыли.
Что вообще дает авторизация в приложении? Авторизация позволяет перенаправлять (редиректить) пользователя на нужные экраны, в зависимости от того, зарегистрирован он или нет. Если совсем по простому, то авторизация нужна, чтобы не показывать личный кабинет с чувствительными данными какому-то проходимцу.
Авторизация через Firebase во FlutterFlow работает отлично - пользователь зарегистрировался, его сразу перенаправило на нужный экран. Пользователь вышел - сразу выкинуло на экран “войти”.
Чтобы реализовать такое поведение с бэкэндом заказчика пришлось бы либо переписать половину FlutterFlow кода, либо как-то подвязывать Firebase авторизацию к базе данных клиента. Мы всегда шли по второму пути… Связывались с заказчиком и просили (под разными предлогами) создать нужный JWT токен (ключ, который используется при авторизации).
Дело в том, что Firebase штука очень капризная и принимает эти JWT только в определенном формате, которые никто больше не использует. Дальше, когда заказчик генерирует все же правильные JWT, можно было использовать Firebase → Log In → JWT token, но… проблемы на этом не заканчивались. Дело в том, что токен для Firebase можно было выписать максимум на 1 час (то есть через час пользователю нужно было бы перелогиниваться). Решение? - получать refresh токен (чтобы делать запрос к бэку заказчика и получать другой токен, уже без ограничения по времени) - для этого приходилось еще редактировать FlutterFlow код.
Ничего не понятно ☝️ ?) - ну и хорошо, значит с вами еще не все потеряно)))
Короче - очень муторно, неудобно, сложно и… еще много нелестных слов. Теперь, насколько я понимаю, все должно работать в пару кликов. Аллилуйя!
Остальные нововведение менее глобальные: добавили виджет карусель (прикольная штука, используется часто, даже удивлен, почему ее так долго не было), добавили преобразование JSON в DataType (я как раз хотел было писать пост про JSON во FlutterFlow, а получается, что уже не нужно =)) Ну и исправили пару багов.
Как всегда - приятно видеть, что проект (FlutterFlow) не стоит на месте и постоянно выкатывает обновления. За API авторизацию отдельное спасибо - теперь можно брать еще больше проектов, а значит и зарабатывать больше =)
#на_заметку
Да, каюсь, опоздал с обзором - но думаю лучше поздно, чем никогда. Да и кто-то все же должен внятно “обозреть” новые фишки FlutterFlow 😎
Начнем! Самое крутое, что добавили - это конечно же кастомная авторизация по API. Лично еще потестить не успел, но если все так, как написано, то… честно говоря это пушка-ракета и хочется прямо визжать от восторга)). Для тех, кто в недоумении сейчас подробно все поясню).
Итак, представьте ситуацию (кстати, довольно частую) – к вам обращается потенциальный клиент для разработки приложения и говорит: “У меня уже есть база данных, есть свои backend разработчики, от тебя мне нужно только приложение. Плачу много миллионов 💵”.
Круто! Но совсем недавно я бы в такой ситуации мучался сомнениями - а стоит ли такой заказ брать в работу… Почему?
Все дело в авторизации. До последнего обновления FlutterFlow поддерживал только 2 метода авторизации - через Firebase и через Supabase. Поэтому если у клиента свой бэк (и, следовательно, своя авторизация), то приходилось городить костыли.
Что вообще дает авторизация в приложении? Авторизация позволяет перенаправлять (редиректить) пользователя на нужные экраны, в зависимости от того, зарегистрирован он или нет. Если совсем по простому, то авторизация нужна, чтобы не показывать личный кабинет с чувствительными данными какому-то проходимцу.
Авторизация через Firebase во FlutterFlow работает отлично - пользователь зарегистрировался, его сразу перенаправило на нужный экран. Пользователь вышел - сразу выкинуло на экран “войти”.
Чтобы реализовать такое поведение с бэкэндом заказчика пришлось бы либо переписать половину FlutterFlow кода, либо как-то подвязывать Firebase авторизацию к базе данных клиента. Мы всегда шли по второму пути… Связывались с заказчиком и просили (под разными предлогами) создать нужный JWT токен (ключ, который используется при авторизации).
Дело в том, что Firebase штука очень капризная и принимает эти JWT только в определенном формате, которые никто больше не использует. Дальше, когда заказчик генерирует все же правильные JWT, можно было использовать Firebase → Log In → JWT token, но… проблемы на этом не заканчивались. Дело в том, что токен для Firebase можно было выписать максимум на 1 час (то есть через час пользователю нужно было бы перелогиниваться). Решение? - получать refresh токен (чтобы делать запрос к бэку заказчика и получать другой токен, уже без ограничения по времени) - для этого приходилось еще редактировать FlutterFlow код.
Ничего не понятно ☝️ ?) - ну и хорошо, значит с вами еще не все потеряно)))
Короче - очень муторно, неудобно, сложно и… еще много нелестных слов. Теперь, насколько я понимаю, все должно работать в пару кликов. Аллилуйя!
Остальные нововведение менее глобальные: добавили виджет карусель (прикольная штука, используется часто, даже удивлен, почему ее так долго не было), добавили преобразование JSON в DataType (я как раз хотел было писать пост про JSON во FlutterFlow, а получается, что уже не нужно =)) Ну и исправили пару багов.
Как всегда - приятно видеть, что проект (FlutterFlow) не стоит на месте и постоянно выкатывает обновления. За API авторизацию отдельное спасибо - теперь можно брать еще больше проектов, а значит и зарабатывать больше =)
#на_заметку