Реклама
Home Softnews Эрих Гамма из Microsoft о прошлом, настоящем и будущем Visual Studio Code...

Эрих Гамма из Microsoft о прошлом, настоящем и будущем Visual Studio Code °

Реклама


По словам выдающегося инженера Microsoft Эриха Гаммы, Visual Studio Code удалось добиться успеха только потому, что неудачный онлайн-редактор превратился в настольный продукт.

Реклама

Вчера Гамма рассказала на виртуальном VS Code Day о том, как появился любимый в мире редактор программистов (или это IDE?).

Редактору с открытым исходным кодом VS Code, представленному на мероприятии Build в апреле 2015 года, почти шесть лет. У Microsoft уже был успешный инструмент разработки, Visual Studio, и мало кто мог предположить, что этот новый редактор вытеснит по популярности своего кузена, работающего только на Windows, до такой степени, что всего четыре года спустя директор Eclipse Майк Милинкович выразить свою озабоченность про «монополию на опыт разработки».

Гамма — соавтор основополагающей книги 1994 года. Паттерны проектирования: элементы объектно-ориентированного программного обеспечения многократного использования, описывающих проверенные модели для объектно-ориентированного программирования. Он реализовал эти идеи на практике, когда в качестве заслуженного инженера в IBM Rational Software работал над Eclipse IDE на основе Java. По словам Ли Накмана, технического директора Rational в то время, и проект, и название были нацелены на Microsoft. «Eclipse хорошо зарекомендовал себя, и нам понравилась идея затмить Visual Studio», — сказал он. сказал в 2005 году.

Несмотря на эти амбиции, в 2011 году Гамма присоединился к Microsoft и начал работу над проектом «Монако», редактором кода в браузере. Одной из первых его функций было автосохранение. «Чтобы не потерять работу, у нас всегда было включено автосохранение … у нас никогда не хватало смелости изменить значение по умолчанию в VS Code на автосохранение, но это отличная функция, и у всех в команде она включена», — сказал Гамма. виртуальная стадия прошлого дня.

Статистика VS Code, представленная вчера: 14 миллионов пользователей в месяц, 28 тысяч расширений, 100 тысяч закрытых проблем.

Статистика VS Code, представленная вчера: 14 миллионов пользователей в месяц, 28 000 расширений, 100 000 закрытых проблем.

Гамма приветствовала другой проект Microsoft, TypeScript, который добавляет строгую типизацию в JavaScript. «Этот 10-летний путь был бы невозможен, если бы у нас не было TypeScript в качестве инструмента, который помог бы нам сохранить гибкость нашего кода, чтобы мы могли его реструктурировать», — сказал он. TypeScript находился в разработке в Microsoft с 2010 года и был обнародован в октябре 2012 года. К 2013 году весь код Monaco / VS был написан на TypeScript, сказал Гамма.

Читайте также:
Этот разработчик создал фальшивый язык программирования MOVA, чтобы ловить непослушных рекрутеров, составляющих резюме. °

«Многие люди не знают, что мы решили не использовать какие-либо UI-фреймворки с самого начала, и это актуально и сегодня, — добавила Гамма, — потому что производительность очень важна для нас, и мы хотим полностью контролировать свои собственные. судьба «.

Visual Studio Online «Монако» была запущена как способ редактирования веб-сайтов Azure в браузере, но не смогла привлечь пользователей. «В месяц было около 3000 пользователей, и для Microsoft очень сложно быть актуальным с таким количеством пользователей», — напомнил Гамма. Его нужно было бы вырастить в 10 и более раз или выбросить.

По словам Гаммы, поворотным моментом стал 2014 год. Команда решила перепозиционировать проект как кроссплатформенный инструмент, используя недавно разработанный фреймворк Electron, который охватывает проект Google Chromium и позволяет веб-приложениям запускаться на рабочем столе. Это было против обычного потока: веб-приложение превратилось в настольное приложение. Проект носил кодовое название «Ticino» и был нацелен на «рожденных в Интернете разработчиков, со сценариями, нацеленными на многоплатформенную разработку, отладку и развертывание приложений Node.js и кроссплатформенных компонентов .NET», согласно внутренний документ, отображаемый Gamma. Это было бы больше, чем редактор, но меньше, чем полноценная IDE, стремясь найти золотую середину между ними. VS Code был готов к предварительному просмотру на Build в следующем году.

Следующей вехой стала поддержка расширений, без которых VS Code не смог бы получить широкого распространения. Гамма опирался на свой опыт «Затмения». «Расширения — это действительно круто, но они также могут навредить вам», — сказал он. «Мы решили запускать расширения в отдельном процессе, чтобы ядро ​​VS Code было менее подвержено влиянию расширений. Например, сохранение происходит в ядре, поэтому, если расширение делает какие-то странные вещи или имеет проблемы, оно не может повлиять на сохранение». API расширения использует RPC (удаленный вызов процедуры) для хоста расширения, объяснил Гамма, что также ограждает авторов расширений от внутренних деталей реализации VS Code.

Читайте также:
10 главных секретов iOS 9, о которых вы не знали

Работа над этим шла быстро, что позволило представить API расширения на мероприятии Microsoft Connect в октябре 2015 года вместе с объявлением о том, что VS Code теперь является открытым исходным кодом. К тому времени Microsoft решила, что «использование открытого исходного кода, принятие открытых стандартов» — правильный способ привлечь разработчиков, — сказал Гамма.

Эрих Гамма (слева) и вице-президент Microsoft Cloud Скотт Гатри с открытым исходным кодом VS Code на мероприятии Connect, октябрь 2015 г.

Эрих Гамма (слева) и вице-президент Microsoft Cloud Скотт Гатри с открытым исходным кодом VS Code на мероприятии Connect, октябрь 2015 г.

В 2016 году был представлен еще один ключевой элемент — протокол языкового сервера (LSP). Это позволяет разработчикам добавлять подключаемые модули для поддержки языков программирования, управляющих такими функциями, как подсветка синтаксиса, автозавершение кода и обнаружение ошибок. Затем появился интегрированный терминал, разработанный новой командой VS Code на базе основного сайта Microsoft в Редмонде, сказал Гамма, первоначальная команда находилась в Цюрихе.

Следующей большой проблемой было удаленное редактирование, отчасти вызванное появлением Подсистемы Windows для Linux (WSL), а отчасти — идеей возможности запускать приложения в браузере с использованием кода в репозиториях GitHub. «Что, если бы вы могли просто открыть этот репозиторий в коде VS и нажать F5, чтобы запустить его?» — сказала Гамма.

Это частично означало возврат VS Code к тому, чтобы он стал в большей степени браузером, что потребовало большего рефакторинга. По его словам, прямые вызовы API-интерфейсов Node.js были удалены, а сервисы абстрагированы, так что, например, «на рабочем столе вы получаете собственные диалоги, а в браузере — диалоги, созданные в формате HTML». Удаленная разработка теперь поддерживает как WSL, так и запуск VS Code в контейнере Docker, а также Кодовые пространства, функция GitHub, находится в закрытом режиме предварительного просмотра и включает упомянутую функцию репозитория Gamma, хотя Codespaces время понять правильно.

Читайте также:
Swatch выпустить новую операционную систему для smartwatches

Разработкой VS Code управляет Microsoft, но «каждый месяц у нас есть план, связанный с проблемой GitHub. Все могут его увидеть», — сказал Гамма. «С 2011 года мы отправляем каждый месяц, и каждый месяц мы публикуем примечания к выпуску, чтобы показать непрерывный прогресс».

Что дальше? По словам Гаммы, существует большая приверженность интегрированным ноутбукам Jupyter на основе Python. Приезд создателя Python, Гвидо ван Россума, в Microsoft в прошлом году, вероятно, не нанесет вреда поддержке языка компанией. На презентации Python позже на мероприятии был показан редактор различий для записных книжек Jupyter, который выглядит неплохо.

На вопрос, что бы он сделал по-другому, Гамма мало что поделал, хотя и сказал, что присвоение названия проекту с открытым исходным кодом по сравнению с продуктом VS Code является проблемой. «[Google] Chrome справился лучше, — сказал он. — У них Chrome — продукт, а Chromium — ядро ​​с открытым исходным кодом. Мы вызываем некоторую путаницу. «Это произошло из-за поспешности, — сказал он. — Название VS Code появилось за пять дней до того, как мы отправили продукт».

За этой путаницей в именах скрывается более серьезный вопрос: является ли VS Code открытым проектом для сообщества или продуктом Microsoft, который отражает стратегию компании? В настоящее время и то, и другое, но некоторых (например, Милинковича из Eclipse) беспокоит корпоративная собственность.

Также возникает вопрос, сможет ли проект действительно избежать раздувания, которое так часто портит успешные продукты с возрастом. Однако Gamma, имеющая опыт работы с шаблонами программного обеспечения и опыт работы с тем, что работало и что не работало в Eclipse, вполне может справиться с этим. Что касается Eclipse Foundation, то он предоставил VS Code самую искреннюю форму лести в форме собственной Theia проект. ®

Реклама

NO COMMENTS