Transcript
00:00:00На прошлой неделе состоялся релиз-кандидат SvelteKit 3 и Solid 2.
00:00:08То есть еще не полностью стабильно, но близко к этому.
00:00:10Пару лет назад это было бы весьма интересным событием.
00:00:15Вы бы увидели кучу видеороликов об этом, включая мои, конечно же, и даже, возможно, курс.
00:00:19И сегодня возникает вопрос: имеет ли это вообще значение?
00:00:24Важны ли новые фреймворки или их новые версии, как в данном случае?
00:00:30Или это неважно, потому что с появлением ИИ все крутится вокруг React, верно?
00:00:36И зачем вообще об этом беспокоиться?
00:00:38В конце концов, если ИИ пишет столько кода, возможно, весь ваш код, зачем вам заботиться о базовом фреймворке или библиотеке?
00:00:46Я бы сказал, что заботиться стоит весьма сильно, и новые фреймворки с библиотеками действительно имеют значение.
00:00:52Но завоевать популярность, как мне кажется, стало намного, намного сложнее, чем раньше.
00:00:59И это никогда не было особенно легко, но сейчас ситуация может быть еще хуже.
00:01:05Но давайте разберем это подробнее.
00:01:06Я не буду подробно останавливаться на том, что именно представляют собой эти фреймворки или их версии.
00:01:13Однако я оставлю ссылки на официальные блоги с анонсами, чтобы вы могли изучить их самостоятельно.
00:01:17Но отмечу, что обе версии весьма интересны.
00:01:21Более того, я планирую использовать именно SvelteKit 3 в некоторых своих новых проектах, пока внутренних, чтобы посмотреть, насколько хорошо он работает с искусственным интеллектом.
00:01:33Потому что это важно.
00:01:36Один из аргументов против этих новых фреймворков или против важности новых фреймворков заключается в том, что у ИИ есть свой любимый стек.
00:01:49И это, конечно же, React и тому подобное.
00:01:52То есть React и Next.js, возможно, и так далее.
00:01:55И это правда.
00:01:56И это действительно так.
00:01:56Это определенно имеет место.
00:01:58Но, как выясняется, ИИ довольно неплохо справляется и с новыми, неизвестными вещами, если вы как разработчик предоставляете ему правильный контекст.
00:02:09И это не стоит недооценивать.
00:02:12Конечно, если вы просто плывете по течению, никак не направляете ИИ и вам совершенно плевать на принимаемые им решения.
00:02:21То есть если вы занимаетесь вайб-кодингом, что вполне допустимо для определенных разовых проектов или одноразового софта.
00:02:28Но если вы занимаетесь этим, то, конечно да, он может просто не знать, что такое SvelteKit версии 3.
00:02:35И вам было бы все равно.
00:02:37Вы бы даже не стали просить ИИ использовать эту версию.
00:02:39Так что очевидно: да, новые фреймворки или библиотеки в целом не имеют места в таком мире.
00:02:46Но ведь все не сводится к одному лишь вайб-кодингу.
00:02:48У него есть своя ниша.
00:02:50И я не знаю, какую роль вайб-кодинг будет играть через несколько лет и все эти технологические выборки, будет ли это иметь значение в будущем.
00:03:00Но прямо сейчас вы можете извлечь огромную пользу именно из осознанного управления искусственным интеллектом.
00:03:07Это даже мягко сказано.
00:03:08И вы должны управлять ИИ.
00:03:11Наша роль как разработчиков просто меняется.
00:03:15Мы по-прежнему должны контролировать то, что мы создаем и как мы это создаем.
00:03:19И то, что мы больше не пишем код своими руками, вовсе не означает, что нас не должен волновать сам код, архитектура и принимаемые решения.
00:03:29Это важно как никогда раньше, а может быть, даже важнее, чем когда-либо.
00:03:34Я считаю, что причины для выбора одного фреймворка вместо другого сейчас совсем другие.
00:03:42Знаете, в 2019 году и ранее одной из главных причин выбора определенного фреймворка среди прочих, безусловно, был опыт разработчика.
00:03:54Насколько вам комфортно работать с ним как разработчику?
00:03:58Так что это, конечно, имело значение, ведь вы проводили много времени, написав код на определенном фреймворке или с определенной библиотекой.
00:04:04Поэтому, конечно, хотелось получать удовольствие от процесса.
00:04:06Теперь же такой выбор есть далеко не всегда.
00:04:09Вы можете работать в компании, где вас просто заставляют использовать определенный фреймворк или библиотеку.
00:04:15Но как разработчик, в зависимости от компании, где вы трудитесь, и особенно если вы работаете на себя, вы можете иметь и, что самое главное, всегда могли иметь определенные рычаги влияния на принимаемые решения и используемые технологии.
00:04:29Так что тогда точно имело значение, обладает ли фреймворк удобной эргономикой и обеспечивает ли хороший опыт для разработчиков.
00:04:41Это было не единственное: конечно, тогда уже имела значение производительность, размер бандла.
00:04:46Затем появляются и другие факторы.
00:04:49Например, насколько легко или сложно реализовать серверный рендеринг в конкретном фреймворке, если мы говорим о фронтенд-фреймворках JavaScript и так далее.
00:04:58Так что аспектов много, но аспекты удобства разработки теперь менее важны.
00:05:05Я бы сказал, что опыт разработчика (DX) больше по-настоящему не важен.
00:05:10Теперь значение будет иметь опыт работы с искусственным интеллектом, я даже не знаю, как это назвать — AX?
00:05:16Это, безусловно, имеет огромное значение.
00:05:19И такие вещи, как производительность, размер бандла и все прочее, разумеется, тоже по-прежнему важны.
00:05:27И я бы утверждал, что с появлением ИИ, поскольку ИИ генерирует код невероятно быстро, выбор конкретного фреймворка, возможно, вообще стал иметь меньшее значение.
00:05:43Но при этом переключаться стало проще, чем раньше, и поэтому вы можете реально оценить, какие аспекты важны для вашего приложения или проекта, что для вас приоритетнее, а затем подобрать под это лучший фреймворк или библиотеку и просто использовать ее.
00:06:00И вам больше не нужно беспокоиться об удобстве разработки или чем-то подобном.
00:06:03Более того, я бы сказал, что вам даже не нужно так сильно заботиться об экосистеме.
00:06:07Экосистема, конечно, по-прежнему имеет значение.
00:06:09Это фактор: например, работая с React, вы автоматически вовлекаетесь в огромную экосистему.
00:06:17У вас есть ShadCN, у вас есть множество других библиотек.
00:06:20Но один из аспектов, который стал менее важным — к сожалению для меня, но менее важным — это количество туториалов по технологии.
00:06:29Потому что, опять же, вы можете больше не писать код самостоятельно.
00:06:33Так что это уже не столь критичный аспект.
00:06:35И что касается другой части экосистемы — библиотек и прочего — да, конечно, здорово, когда они есть.
00:06:41Но ИИ отлично умеет создавать всё, что вы его попросите.
00:06:46И если вы хотите свой собственный ShadCN для Svelte (а я знаю, что ShadCN для Svelte уже существует).
00:06:54Но если бы вы захотели создать собственную версию библиотеки, которая есть для React, но отсутствует для вашего любимого фреймворка, вы можете просто попросить об этом ИИ.
00:07:02Вы можете просто попросить ИИ сделать форк какой-нибудь популярной библиотеки на React и портировать ее на ваш любимый фреймворк.
00:07:11Конечно, это не окупится для каждого маленького побочного демо-проекта, но для масштабных проектов — вполне.
00:07:19Вы вполне можете заниматься подобным.
00:07:21Так что я бы сказал, что экосистема по-прежнему важна, но менее важна, чем раньше.
00:07:28Теперь же значение имеет — и я уже упоминал об этом — так называемый опыт взаимодействия с ИИ.
00:07:33И что я под этим подразумеваю?
00:07:36Здесь можно иметь в виду разные вещи.
00:07:39Я имею в виду то, насколько легко искусственному интеллекту изучить или понять ту или иную вещь: фреймворк или библиотеку, с которой вы хотите заставить его работать.
00:07:47И насколько этот фреймворк заставляет ИИ писать качественный код.
00:07:54И я приведу пример.
00:07:55Существует Effect.
00:07:57Effect — это не фронтенд-фреймворк для JavaScript, но тем не менее это библиотека для JavaScript или TypeScript, созданная для помощи разработчикам в легком написании сложных синхронных и асинхронных программ.
00:08:08Вы можете, например, использовать ее на бэкенде.
00:08:10В нее встроено множество возможностей.
00:08:12Это поистине потрясающе.
00:08:13И одна из вещей, делающих Effect потрясающим — и, вероятно, одна из причин его популярности в определенной нише как минимум сейчас — это то, что он поставляется с массой жестких правил, которые активно поддерживаются и будут «ругать» вас или ИИ, если вы пишете неверный код.
00:08:35Если вы нарушаете определенные правила библиотеки Effect, то, поскольку это TypeScript-библиотека, она глубоко интегрирована с TypeScript, выполняет массу проверки типов и прочих проверок, которые действительно заставляют вас следовать определенному набору правил для написания программ.
00:08:54И конечно, при работе с ИИ всё, что принудительно задает правила и одергивает ИИ, если он начинает что-то выдумывать или пытается нарушить эти правила, — всё это невероятно полезно.
00:09:09И это один из аспектов хорошего опыта работы с ИИ, я бы сказал.
00:09:12Работа с библиотекой или фреймворком, который устанавливает жесткие правила и сводит к минимуму количество ошибок, которые вы можете совершить, или вариативность в коде, если выражаться так.
00:09:28Так что это один из аспектов.
00:09:29Другой аспект — насколько легко ИИ дается обучение чему-то новому.
00:09:32И здесь все упирается в документацию, поскольку я уже упоминал ранее: ИИ отлично справляется с работой над новыми, неизвестными вещами.
00:09:44Конечно, у него есть весь этот заложенный багаж знаний о React, но до определенной степени можно даже утверждать, что это минус, ведь он перенял много плохих паттернов из бесчисленных публичных репозиториев.
00:09:56Но вам достаточно просто направить ИИ на нужные страницы документации или дать ему правильный навык, и он будет очень и очень хорошо работать с конкретной технологией.
00:10:07Я делаю это постоянно.
00:10:09Я использую ИИ с новыми версиями библиотек или фреймворков.
00:10:13Я применяю его, например, с Effect, который хоть и не нов, но его четвертая версия свежая.
00:10:18Я использую его с решением под названием Alchemy — это инструмент инфраструктуры как облачного сервиса, который является довольно новым.
00:10:25Вы просто даете ему документацию, либо, как люблю делать я, просите ИИ провести глубокое исследование.
00:10:31Я даю ему начальную документацию и прошу копнуть глубже, после чего прошу создать навык (skill), который могу выгрузить в проекты, где работаю с определенной библиотекой, и результаты получаются поистине превосходными.
00:10:42И по всем этим причинам, короче говоря, новые версии фреймворков и библиотек по-прежнему имеют огромное значение.
00:10:49Или не только новые версии, разумеется.
00:10:51Совершенно новые библиотеки и фреймворки имеют огромное значение.
00:10:55Но причины до некоторой степени сместились.
00:10:58Как уже упоминалось, такие вещи, как производительность и прочее, будут важны всегда, потому что в конечном счете вы, надеемся, создаете продукты для конечного пользователя.
00:11:06И конечным пользователем можете быть вы сами, если это внутренний инструмент или что-то в этом роде.
00:11:10Но тем не менее вам нужно что-то быстрое, что не падает постоянно.
00:11:14Так что все это имеет значение.
00:11:16Но в дополнение к этому сегодня важно то, насколько хорошо тот или иной фреймворк или библиотека взаимодействует с ИИ.
00:11:25И это, естественно, меняет то, как эти фреймворки и библиотеки разрабатываются или должны разрабатываться.
00:11:30И какими должны быть приоритеты разработчиков, стоящих за этими фреймворками.
00:11:34Им действительно стоит пытаться создать нечто, что заставляет ИИ работать определенным образом и сводит к минимуму количество ошибок, которые ИИ может допустить.
00:11:43Потому что в конечном счете то, что мы здесь пытаемся сделать — это втиснуть нечто недетерминированное, то есть ИИ, в относительно детерминированный мир, чтобы получить лучшее от обоих миров: гибкость и скорость ИИ, но при этом избежать его ухода «в полный разнос» и выдачи ужасного кода.
00:12:03И да, новые фреймворки и библиотеки играют здесь важную роль.
00:12:09И, следовательно, процесс изучения этих фреймворков и библиотек определенно изменился.
00:12:14Вы, как разработчик, скорее всего, не будете тратить часы на огромный курс, чтобы освоить новый фреймворк или библиотеку.
00:12:23Вы, вероятно, потратите — и вам наверняка стоит (я поступаю именно так) — некоторое время на изучение основ по документации, видео на YouTube,
00:12:33курсу — хотя формат курсов тоже меняется.
00:12:36Я сам меняю то, что произвожу, потому что считаю: чтобы эффективно работать с чем-либо, независимо от того, что это такое, с помощью ИИ, вам необходимо базовое понимание предмета, с которым вы работаете.
00:12:49Вы должны понимать, о чем просить ИИ, на что обращать внимание, какие есть потенциальные подводные камни, лучшие практики и так далее.
00:12:56Так что подходы к обучению и выбору используемых инструментов определенно меняются.
00:13:00Но это не значит, что инновации в области фреймворков и библиотек потеряли свое значение.
00:13:06Я думаю, они важны как никогда, потому что впереди еще много свободного пространства для инноваций, направленных на создание фреймворков, дающих ИИ более четкие правила.
00:13:16И, конечно же, всегда будут востребованы фреймворки, библиотеки и инструменты, позволяющие создавать более быстрые, производительные, безошибочные и т. д. приложения.
00:13:26Потому что в конечном счете, как я уже упоминал, именно к этому мы все и должны стремиться — с ИИ или без него.