Сегодня на 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
Пишут о том, что последний год решали фундаментальные проблемы 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-плагин
Последнее время стало появляться больше случаев, когда большие проекты переходят 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
Было несколько причин, которые заставили задуматься о миграции на 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
Medium
Now or Never: Migrating 300k LOC from Flow to TypeScript at Quizlet
At Quizlet, we are constantly working on improving our developer experience. After two mostly happy years with Flow, we recently decided…
Эндрю Пардо рассказал про планы разработки Flow на 2020 год — "What we’re building in 2020".
В этом году работа будет сфокусирована на производительности, дальнейшем снижении потреблении памяти, улучшении системы типов и добавлении новых фич в language server protocol.
Запланировано добавление подсказок для параметров функций и методов, улучшение Quick Info для деклараций, будет идти на работа над ускорением отклика обработки запросов при редактировании и навигации по коду. Также планируют улучшить типизацию
Хотя я перешёл на TypeScript (и пока не жалею), искренне хочу, чтобы все планы были реализованы.
#flow #announcement
https://medium.com/flow-type/what-were-building-in-2020-bcb92f620c75
В этом году работа будет сфокусирована на производительности, дальнейшем снижении потреблении памяти, улучшении системы типов и добавлении новых фич в language server protocol.
Запланировано добавление подсказок для параметров функций и методов, улучшение Quick Info для деклараций, будет идти на работа над ускорением отклика обработки запросов при редактировании и навигации по коду. Также планируют улучшить типизацию
this
в декларациях функций и работу с unsealed-объектами (будет корректно проверяться доступ к свойствам объекта). Переработают дизайн дженериков, для того чтобы избавиться от проблем, возникающих с областью видимости параметров. Можно будет выборочно подавлять ошибки с помощью $FlowFixMe
.Хотя я перешёл на TypeScript (и пока не жалею), искренне хочу, чтобы все планы были реализованы.
#flow #announcement
https://medium.com/flow-type/what-were-building-in-2020-bcb92f620c75
Medium
What we’re building in 2020
Our plan for 2020 covers three areas:
Владан Дзерик из 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
Разработка 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
Medium
Clarity on Flow’s Direction and Open Source Engagement
Summary: Flow prioritizes the Facebook codebase’s need for more type safety and fast performance on very large codebases. Flow’s…