Defront — про фронтенд-разработку и не только
19.9K subscribers
21 photos
1.09K links
Ламповый канал про фронтенд и не только. Всё самое полезное для опытных web-разработчиков

Обсуждение постов @defrontchat

Также советую канал @webnya
Download Telegram
Сегодня на medium был опубликован пост от разработчиков Flow, про то, почему от них так давно не было новостей.

Пишут о том, что последний год решали фундаментальные проблемы Flow: скорость и оптимизацию потребления памяти. Оптимиазция по скорости снизила число запросов от IDE, занимающих более одной секунды, с 1 млн./день до 25 тыс./день. Уважают решение разработчики сторонних библиотек о переходе с Flow на TypeScript, но для Facebook Flow остается очень важной технологией. Еще обещают быть более открытыми по поводу своих планов на будущее.

https://medium.com/flow-type/what-the-flow-team-has-been-up-to-54239c62004f

#flow
Попалась на глаза статья, в которой ребята из Quizlet рассказывают про опыт перевода кодовой базы c Flow на TypeScript — "Now or Never: Migrating 300k LOC from Flow to TypeScript at Quizlet".

Было несколько причин, которые заставили задуматься о миграции на TypeScript: медленная работа тайп-чекера, проблемы в определениях типов используемых библиотек, не такая качественная поддержка в редакторах кода как с TypeScript и т.п.

Общая кодовая база на момент переноса состояла из 300 тысяч строк. Рассматривался вариант с инкрементальным переносом проекта на TypeScript, но это усложнило бы поддержку кода, поэтому было решено мигрировать весь код сразу. Для автоматической конвертации использовался babel-плагин babel-plugin-flow-to-typescript. После переноса появилось 6000 ошибок в типах. Как написано в статье это не было проблемой, так как Flow всё равно их не отлавливал, поэтому они были заигнорированы. После внедрения TypeScript покрытие кода типами увеличилось на 20%. Также стали отслеживаются те ошибки, которые были проблемой для Flow.

Последнее время стало появляться больше случаев, когда большие проекты переходят c Flow на TypeScript. Не знаю, что теперь надо сделать команде Flow, чтобы удержать своих немногих пользователей... Статью стоит почитать, если перед вами стоит задача переноса кодовой базы с Flow на TypeScript.

#flow #typescript

https://medium.com/tech-quizlet/now-or-never-migrating-300k-loc-from-flow-to-typescript-at-quizlet-d3bae5830a1
Эндрю Пардо рассказал про планы разработки Flow на 2020 год — "What we’re building in 2020".

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

Запланировано добавление подсказок для параметров функций и методов, улучшение Quick Info для деклараций, будет идти на работа над ускорением отклика обработки запросов при редактировании и навигации по коду. Также планируют улучшить типизацию this в декларациях функций и работу с unsealed-объектами (будет корректно проверяться доступ к свойствам объекта). Переработают дизайн дженериков, для того чтобы избавиться от проблем, возникающих с областью видимости параметров. Можно будет выборочно подавлять ошибки с помощью $FlowFixMe.

Хотя я перешёл на TypeScript (и пока не жалею), искренне хочу, чтобы все планы были реализованы.

#flow #announcement

https://medium.com/flow-type/what-were-building-in-2020-bcb92f620c75
Владан Дзерик из Facebook рассказал об изменении приоритетов разработки Flow — "Clarity on Flow’s Direction and Open Source Engagement".

Разработка Flow теперь полностью сконцентрируется на потребностях Facebook: быстрой проверке типов на огромной кодовой базе, улучшению типобезопасности и DX. Проект будет продолжать разрабатываться на GitHub, но пулл-реквесты и ишью, не совпадающие с видением разработчиков, будут закрываться. Встроенные определения типов (DOM, Node, React и т.п.) будут вынесены в репозиторий flow-typed, чтобы их обновление не было привязано к релизному циклу Flow. Также планируют добавлять новые синтаксические конструкции. И по этому поводу хочется немного поспекулировать.

Исторически Flow позиционировался как "JavaScript с типами", то есть как тайпчекер. С добавлением новых синтаксических структур он превратится в полноценный язык. По сути Flow становится языком для фронтенда, кодовая база которого на 100% принадлежит Facebook. [Также вы можете вспомнить про Rescript (ex-ReasonML), но он полагается на bucklescript, разработанный Bloomberg, и насколько я знаю, Facebook не участвует в его развитии.] С учётом того, что в Facebook работают довольно сильные спецы по дизайну языков (знаю точно, что там работает Эрик Майер), в итоге может получиться что-то интересное.

#flow #announcement

https://medium.com/flow-type/clarity-on-flows-direction-and-open-source-engagement-e721a4eb4d8b