10.6K subscribers
333 photos
19 videos
15 files
709 links
Архитектура | Программирование | Профессиональное развитие

Соер.Клуб - https://xn--r1a.website/soer_live

По всем вопросам писать на @soerdev
Download Telegram
Основной инструмент программиста - редактор кода. Раньше существовало особое разделение между IDE (редактором, который поддерживал специальные фичи для разработки на каком-либо языке программирования) и обычным Editor-ом (редактором, который максимум подсвечивал код). IDE предлагали автодоплнение для названий функций и переменных, подсвечивали ошибки и делали другую полезную работу. Причем каждая IDE делала это на свой лад.
Таким образом вся полезная функциональность была зашита в сам редактор. Так было ровно до тех пор, пока не появился - LSP (Language Server Protocol). LSP - это специальный протокол по которому редактор (или другой софт) может обращаться к языковому серверу, который знает синтаксис и семантику языка, в итоге редактору больше не надо "уметь" самому разбирать код, а нужно лишь передавать LSP серверу нужную информацию и получать от него подсказки, ошибки и предупреждения.
В результате практически все популярные ЯП имеют свои LSP серверы, а редакторы кода неожиданно становятся простыми IDE, подключая LSP в свою функциональность.

На Rust-е есть простенькая IDE, которая еще не вышла даже в Бета стадию, но уже умеет и плагины, и LSP - это Lapce (https://github.com/lapce/lapce)

Качаете исходники, собираете и получаете шустрый редактор, затем ставите плагин, скажем для TypeScript, с поддержкой LSP доступа и получаете IDE. Затем подключаете Rome (https://github.com/rome/tools) и вот уже работает линтер, претифайер и бандлер. А если и этого мало, то используя WASI (WebAssembly System Interface) можете написать свой плагин или использовать плагины других разработчиков.

Кстати, Lapce позволяет использовать Vim режим, который подходит для настоящих гиков.

Такой стиль архитектуры называется "плагинный", когда есть "ядро" и вся дополнительная функциональность получается через плагины. Обычно за такую архитектуру приходится платить производительностью, но Lapce работает не хуже VSCode, а по моим ощущениям даже быстрее.

#tools #editor #soft
👍38🔥8🤯4😁1🤔1🤡1