(Извините — я не смог устоять перед очередным каламбуром в названии!)
Я недавно посмотрел на язык программирования Google Go . На первый взгляд, это хороший вариант для веб-разработки на настольном компьютере или на стороне сервера, но, похоже, у Google более амбициозные планы.
Согласно комментариям к исходному коду и интервью с командой разработчиков, Go может быть интегрирован в собственный клиент Google (NaCl). NaCl — это плагин с открытым исходным кодом, который позволяет запускать собственный 32-битный код x86 непосредственно в веб-браузере. Код изолирован, проверен и ограничен, чтобы гарантировать, что он не может нанести вред браузеру, другим приложениям или базовой ОС. Хотя NaCl является экспериментальным, он уже включен (но отключен) в веб-браузер Chrome, и Quake был преобразован для демонстрации технологии.
Потенциально, Go может быть хорошо подходит для NaCl. Разработчики могут развертывать скомпилированные исполняемые файлы или даже необработанный исходный код, который быстро запускается в браузере. Сложные игры и ресурсоемкие приложения были бы возможны.
Нужно ли больше плагинов?
Сколько плагинов у вас установлено? У большинства людей есть Flash, Java, Adobe Reader и, возможно, Silverlight или Google Gears. Начинающие пользователи, которые нажимают «Да» на каждое приглашение, вероятно, имеют десятки.
Основными преимуществами Интернета являются независимость от платформы и мгновенное развертывание. Тем не менее, одержимость отрасли переводом всех настольных приложений в сеть провоцирует разработку плагинов, что сводит на нет преимущества:
- Опора на плагин нарушает независимость платформы. Создание клиентского приложения на основе Go почти наверняка свяжет вас с Google Chrome, поскольку NaCl никогда не будет доступен для всех комбинаций ОС и браузеров. Многие веб-приложения по-прежнему полагаются на IE, потому что используется ActiveX — хотя в Chrome и Firefox есть реализации ActiveX.
- NaCl и Go обеспечат высокую скорость, поэтому логические приложения для игр, графики и видео. Однако размер сложных приложений может достигать сотен мегабайт — мгновенное развертывание маловероятно. Хотя я допускаю, что NaCl очень умный, приложения, интенсивно использующие процессор, несомненно, будут работать лучше вне браузера.
Mozilla выразила аналогичные опасения в своей недавней критике Google Chrome Frame . Хотя Chrome Frame является нишевым решением известной проблемы, Mozilla обеспокоена тем, что сеть может стать фрагментированной, если компании откажутся от веб-стандартов в пользу решений на основе плагинов.
Я не говорю, что все плагины обязательно плохие, а в некоторых случаях они предоставляют средства, которые в конечном итоге станут стандартом браузера. Например, Flash позволяет нам просматривать видео сегодня, а не ждать несколько лет тега video
Тем не менее, Интернет и рабочий стол — это разные платформы со своими сильными и слабыми сторонами. Хотя границы становятся все более размытыми, имеет ли смысл использовать плагины для загрузки настольного приложения в браузер?
Если вы обнаружите, что становитесь все более зависимыми от плагинов, возможно, вам следует подумать о редизайне, чтобы ваше приложение использовало веб-технологии. В качестве альтернативы, выпустите настольное приложение, которое использует веб-соединение при необходимости.
Google — развлекайтесь с NaCl, но, пожалуйста, не превращайте Интернет в платформу для распространения бинарных приложений на основе Go!
Как вы думаете? Является ли NaCl и Go отличной идеей? У нас слишком много плагинов или они улучшают работу браузера? Следует ли использовать веб-браузеры в качестве платформы приложений, если они постоянно нуждаются в улучшении на заказ?