Цифровое искусство NFT Налоги и криптовалюта

Почему крупные проекты уходят от TypeScript: опыт Motion и выбор C#

Цифровое искусство NFT Налоги и криптовалюта
Moving off of TypeScript, 2.5M lines of code

Рассматриваем причины, по которым крупные компании переходят с TypeScript на другие языки программирования, основываясь на опыте Motion - стартапа с монорепозиторием в 2,5 миллиона строк кода. Обсуждается, почему выбор пал на C#, преимущества экосистемы .

За последние пять лет TypeScript стал одним из самых популярных языков программирования для построения масштабируемых и надежных веб-приложений. Многие компании выбирают его за мощную типизацию, взаимодействие фронтенда и бэкенда, а также за опыт сообщества и богатую экосистему. Однако с ростом продукта и монорепозитория, содержащего порядка двух с половиной миллионов строк кода, опыт использования TypeScript не всегда бывает полностью позитивным. На примере компании Motion, которая на протяжении многих лет опиралась на TypeScript для разработки своих продуктов, можно понять, с какими трудностями сталкиваются крупные проекты и почему со временем возникает необходимость переосмыслить выбор технологий. Motion начал свой путь с большого монорепозитория, построенного на TypeScript, что позволяло им быстро проверять идеи и обеспечивать высокую степень взаимодействия между разработчиками фронтенда и бэкенда.

Использование React, React Native, Electron и инфраструктурного кода - все это было написано на одном языке, что значительно упрощало процессы разработки. Команда разработчиков могла легко делиться кодом между разными платформами, что в теории должно было повысить продуктивность. Однако на практике мечта универсального и беспроблемного код-шеринга оказалась иллюзией. Особенности экосистемы React Native и отличия в версиях ключевых библиотек, таких как React и Tailwind, приводили к тому, что многие общие библиотеки не сочетались без проблем на всех платформах. Из-за этого становилось обычным делом, что исправления, сделанные для веба, ломали мобильное приложение.

Подобные ситуации вызывали постоянный конфликт между разработчиками, приходилось проводить длительную диагностику и исправлять ошибки. Со временем некоторые критические экраны мобильного приложения были переписаны с отказом от React Native ради повышения производительности. Внушительный размер кодовой базы лишь усугублял проблемы поддержки и сборки. Серверы языка часто падали или работали очень медленно, а время выполнения CI/CD процессов зачастую превышало 20 минут, что негативно влияло на скорость внедрения изменений и общую разработческую культуру. Один из болевых моментов - отсутствие в TypeScript полноценной поддержки runtime-типов, что вынуждало использовать сторонние решения, например, популярную библиотеку Zod, которая, в свою очередь, порождала собственные ограничения и ошибки при компиляции.

 

Не менее проблемными были инструменты работы с базой данных. ORM Prisma изначально имела опасный дефект, который мог привести к удалению всей таблицы, если запрос был составлен неправильно. Хотя альтернатива в виде Drizzle казалась многообещающей, она не достигла стабильной версии 1.0, а судьба подобных проектов в ранней стадии всегда нестабильна. Крупные зрелые экосистемы, такие как Java и .

 

NET, на сегодняшний день обладают огромным преимуществом в виде зрелых инструментариев и проверенных практик работы с CRUD-операциями. Они обеспечивают быстрые компиляции, стабильное выполнение многопоточных задач, а также надежные, полнофункциональные ORM, что упрощает жизнь разработчиков, позволяя им сосредоточиться на решении новых бизнес-задач, а не на борьбе с инфраструктурными сложностями. Серьезным поворотным моментом для Motion стало развитие агентных workflow-систем, в которых понадобилось исполнять произвольный JavaScript-код в изолированной среде по соображениям безопасности. Поскольку TypeScript и экосистема Node.js не предоставляли приемлемых решений для этих задач, возникла необходимость внедрять совершенно новый язык для таких функций.

 

При выборе нового языка критерии были достаточно жесткими: требуется garbage-collected, статически типизированный, производительный язык, способный обеспечить максимальную продуктивность. Среди возможных вариантов были рассмотрены C# и Java - два богатых экосистемой и зрелых языка, которые смогли бы закрыть текущие потребности компании. В итоге выбор пал на C#, и одной из ключевых причин стал его ORM - Entity Framework Core. Этот инструмент вывел работу с базами данных на новый уровень за счет продвинутых возможностей глобальных фильтров запросов, удобного управления soft deletes, отслеживания изменений и транзакционной консистентности. Использование EF Core позволило избавиться от необходимости каждый раз вручную проксировать транзакционные контексты, как это было в Prisma или Drizzle, что значительно упростило код и повысило надежность.

Помимо удобства работы с базами данных, C# и TypeScript обладают схожим синтаксисом и парадигмами благодаря тому, что оба языка создавались связаны с Microsoft, что облегчило переход для разработчиков. Асинхронное программирование, nullable-типы и lambda-функции имеют очень похожий синтаксический стиль, что минимизировало время и ресурсы на адаптацию команды. Экосистема .NET достаточно обширна и сочетает в себе зрелые решения для массового применения, включая поддержку продвинутых архитектурных паттернов, таких как event sourcing и actor model, а также интеграцию с современными решениями для обмена сообщениями и построения распределенных систем. Кроме того, возможности C# в сочетании с продвинутыми методами статического анализа кода и инструментариями на базе компилятора Roslyn открывают более широкие перспективы для интеграции с AI-инструментами, генерирующими код.

Применение строгих правил написания кода, документации и проверок позволило значительно повысить качество создаваемого продукта за счет частичной автоматизации процессов ревью и тестирования через машинное обучение. Такой подход также стимулирует использование AI как помощника разработки, что положительно сказывается на скорости и надежности создания нового функционала. Не стоит забывать, что за многие годы .NET превратился из платформы, ориентированной исключительно на Windows, в современную кроссплатформенную технологию с открытым исходным кодом, поддерживающую Linux и облачные среды. Высокая производительность среды исполнения и стабильность рантайма делают платформу подходящей для проектов любого масштаба и с различными требованиями по нагрузке.

И хотя говорить о том, что C# и .NET - это модные технологии сегодняшнего дня, не приходится, важно понимать, что именно зрелость и надежность имеют решающее значение в разработке большого бизнеса и масштабируемых продуктов. Опыт Motion служит примером того, как выбор правильных инструментов занимает критическую роль для стартапов, стремящихся к быстрым итерациям, высокой производительности и адаптивности. В современном мире ощущается тенденция отхода от относительно молодых и не всегда стабильных решений к проверенным временем корпоративным платформам, которые обеспечивают комфорт и предсказуемость в работе. Motion приглашает разработчиков, которые смотрят на индустрию с открытым умом и готовы принять участие в создании инновационного программного обеспечения, которое меняет представление о том, как можно автоматизировать и интегрировать AI через естественный язык.

Их путь доказывает, что иногда возвращение к давно известным и надежным технологиям - это ключ к новым прорывам. .

Автоматическая торговля на криптовалютных биржах

Далее
90,000 ETH in Just 2 Days: Is Ethereum Headed for a Big Correction?
Вторник, 13 Январь 2026 Продажа 90 000 ETH за 2 дня: Грядет ли крупная коррекция на рынке Ethereum?

Крупные инвесторы Ethereum резко сократили свои активы, продав 90 000 ETH всего за 48 часов. Однако аналитики продолжают видеть потенциал для роста.

Forward Industries Seeks $4B ATM Offering to Increase Solana-Focused Treasury
Вторник, 13 Январь 2026 Forward Industries расширяет казну Solana с помощью предложения на $4 миллиарда на рынке

Forward Industries, компания с листингом на Nasdaq, активно наращивает свой портфель Solana, инициируя новое предложение акций на $4 миллиарда с целью усиления своей стратегии инвестирования в экосистему Solana и расширения бизнеса. .

Crypto Exchange Bullish Secures New York BitLicense, Can Now Serve US Institutions
Вторник, 13 Январь 2026 Криптобиржа Bullish получила BitLicense Нью-Йорка и выходит на рынок институциональных инвесторов США

Криптобиржа Bullish достигла важного этапа, получив BitLicense от финансового регулятора Нью-Йорка. Это открывает новые возможности для обслуживания институциональных клиентов в одном из крупнейших финансовых центров мира, а также усиливает позиции компании на мировом крипторынке.

Protagonist Therapeutics, Inc. (PTGX): A Bull Case Theory
Вторник, 13 Январь 2026 Protagonist Therapeutics, Inc. (PTGX): Перспективы растущей биотехнологической компании

Обзор стратегических преимуществ и перспектив развития компании Protagonist Therapeutics, Inc. , анализ факторов, способствующих ее успешному будущему на рынке биотехнологий.

Warner Bros. Discovery, Inc. (WBD): A Bull Case Theory
Вторник, 13 Январь 2026 Почему Warner Bros. Discovery - перспективный игрок на рынке развлечений

Обзор стратегических преимуществ и потенциала Warner Bros. Discovery на современном рынке медиа и развлечений, а также факторов, способных обеспечить устойчивый рост компании в ближайшие годы.

Broadcom Inc. (AVGO): A Bull Case Theory
Вторник, 13 Январь 2026 Broadcom Inc. (AVGO): Твердая стратегическая перспектива роста на рынке технологий

Анализ перспектив и факторов, поддерживающих оптимистичный взгляд на развитие Broadcom Inc. в свете текущих рыночных условий и технологических трендов.

Photronics, Inc. (PLAB): A Bull Case Theory
Вторник, 13 Январь 2026 Photronics, Inc. (PLAB): Перспективы Роста и Инвестиционные Возможности

Подробный анализ компании Photronics, Inc. и факторов, которые формируют бычий взгляд на перспективы ее развития и привлекательность для инвесторов.