Вышел COLT 2.0 с поддержкой Angular.js, node-webkit

в 15:02, , рубрики: angular, AngularJS, COLT, javascript, Блог компании CodeOrchestra, метки: , ,

Сегодня мы выпускаем новую версию нашего продукта. COLT 2.0.
Данный релиз будет интересен JavaScript разработчикам.

Главные новости. Коротко

Поддержка node-webkit, поддержка работы с удаленными или локальными серверами (live-proxy). Консольная версия COLT (запуск без UI на сервере). Поддержка Angular. Новый механизм HTML доставки. Улучшение работы с Sublime Text (JSDocs и другое). Улучшение производительности. Новый интерфейс на node-webkit. Улучшена поддержка Linux. Новый демо режим (как в Sublime). Значительное уменьшение размера дистрибьютива.

Flash

Для кого-то грустная новость. Мы больше не поддерживаем Flash. Флэш версия будет поддерживаться силами комьюнити. Исходники Flash версии будут скоро доступны на github. Мы решили полностью сконцентрироваться на JS. Node, web, node-webkit, phonegap. Новый адрес нашего проекта будет COLT.IO.

Angular.js

1. Рекомпиляция директив после live-обновления HTML. То есть, если вы как-то изменили директиву, например {{myData}} после изменения вы не увидите фигурные скобки, а увидите уже данные из $scope. Наша перекомпиляция HTML достаточно умная, мы понимаем что директивы находятся внутри ng-repeater и «пересобираем» часть внутри «репитера». Чтобы визуально отслеживать перекомпиляцию и какая область была затронута при обновлении мы показываем красный прямоугольник вокруг обновленного элемента.

2. Подгрузка изменений HTML и перекомпиляция директив будет работать с подгруженным HTML. Вы можете править темплейт который загрузила главная страница через ng-router и сразу видеть как будет выглядить ваш скомпилированный HTML.

Посмотрите демо как это работает.

Live-Proxy

Теперь в адресе main документа в настройках проекта вы можете указать адрес страницы не сервере. Либо сайта. В этом случае COLT будет загружать страницы и ресурсы с сервера, и трансформировать их для работы в в режиме live. Как только ресурс будет изменен на сервере, COLT среагирует на это изменение и доставит всем подключеным клиентам новый JS и HTML изменения. Теперь не важно какие серверные языки программирования вы используете. Sublime будет так же получать новое состояние, комлитить, выводить значения на консоль. Вам нужно лишь обеспечить синхронизацию файлов вашего проекта на сервер, для чего имеется уже достаточно много средств и инструментов. Мы ожидаем, что такое нововведение должно помочь внедрить COLT и livecoding в большие проекты со сложным стэком серверных решений.

Консольная версия

Теперь чтобы запусить live-сессию не нужно запускать интерфейс. Вы можете запустить jar с консоли, передав ему первым аргументом путь к xml проекта.

Например:

$ java jar colt.jar myProject.colt

Такой режим очень хорошо подходит для серверной установки в режиме live-proxy.

Новый механизм обновлений HTML

Новые подходы разработки приложений предполагают, что приложение может состоять из большого количества html файлов. One Page Application. Теперь, каждому тэгу в вашем проекте присваивается уникальный идентификатор, который помогает найти его в загруженном приложении, из любого документа. И теперь, когда вы поменяете любой тэг в любом файле в проекте, его новое состояние будет отображено в run-time. Чтобы помочь визуально контролировать изменения, временно такому тэгу будет добавлен стиль серой рамки. Напомним, что наш механизм доставки HTML и JS работает в любом браузере и на любом устройстве, мобильном, ТВ и тд.

Поддержка node-webkit

Теперь livecoding, интеграция с Sublime работает не только для браузеров и node.js. Теперь появилась еще одна среда исполнения, которую мы поддерживаем. Вы можете стартовать приложение из Sublime или из интерфейса проекта и любые изменения HTML будут обновлены. Sublime получает данные для автокомлита прямо из приложения.

Демонстранционное видео:

Sublime

Перечислим улучшения в Sublime.

1. Лучшее отображение ошибок runtime и синтаксиса.
2. Поддержка JS Docs.
3. Автоматическая генерация проекта COLT для node и node.webkit.
4. Улучшение автокомплита.
5. Улучшение вывода значений на консоль — «show value» улучшен формат и вывод на консоль Sublime теперь дублируется выводом в браузер console.log() — так проще разбирать объекты со сложной структурой.
6. Решено большое количество багов и проблем с «go to function declaration».

Отдельно по JS Docs можно посмотреть видео.

Webstorm

Многим пользователям Webstorm нравятся некорые возможности, которые мы реализовали для Sublime. У Webstrom никогда не было проблем с комплишеном, но все же нужно признать, что наша доставка HTML и JS лучше. Так же нравится возможность вывести значение любой переменной без старта сессии.

Эти возможности в ближайшее время появятся в плагине к Webstorm.

Ожидайте обновленный плагин Webstorm на следующей неделе.

Новый интерфейс

Теперь наш интерфейс создан с использованием node-webkit. Прошлый интерфейс на java-fx показал себя по ряду моментов не лучшим образом. Теперь старт стал быстрее, дистрибьютив значительно похудел по весу, мы используем наш же инструментарий для разработки нашего продукта.

Мы выложили исходники нашего интерфейса в открытый доступ, если у вас будет задача сделать приложение для win/mac/linux без особых усилий и затрат, то можете воспользоваться нашим проектом как отправной точкой.

Исходники UI доступны по адресу —

github.com/code-orchestra/colt-ui

Новый демо-режим

Мы скопировали идею демо-режима из Sublime. Теперь при старте COLT вас не спросят от вводе серийного номера. Просто при работе с COLT вас будут извещать что вы работаете с незарегистрированной версией.

Также мы добавили вариант покупки на год с хорошей скидкой.

Планы на ближайшее время —

1. Перенести пост- и пре- компиляционные скрипты с gradle на grunt (сейчас они временно заблокированы)

2. Улучшить поддержку Angular в Sublime.
Автокомлит директив. Автокомлит методов и полей $scope внутри атрибутов тэгов и байндинг-скобок. Go to directive declaration. Умные сниппеты Аngular.

3. Уменьшить скорость запуска node.js проектов и node-webkit. Механизм зависимостей. Транформация кода по запросу как мы это реализовали для веб проектов.

4. Find function usages в Sublime.

5. Обновленная версия Webstorm плагина

6. Улучшить производительность на больших скриптах.

Так же мы планируем поддержка других фреймворков — не только Angular. Если есть идеи что нужно, например, где нужна рекомпиляция HTML — пишите.

Задавайте вопросы. Мы с не терпением ждем ваших отзывов.

сайт проекта codeorchestra.com и так же скоро будет доступен домен COLT.IO

Скачать COLT 2.0 Beta можно по адресу.

Win link
Mac link
Linux (в процессе сборки)

Кто хочет получить годовую лицензию на COLT бесплатно, напишите обзорную статью и пришлите нам на нее ссылку на наш твиттер @code_orchestra.

Автор: codeorchestra

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js