В моем последнем проекте мне довелось поработать с Аурелией. Мне нужно было использовать некоторую структуру внешнего интерфейса, которую можно было бы легко использовать с существующим серверным приложением. Это единственное требование автоматически перечеркнуло Angular, поэтому мне пришлось искать какую-то альтернативу. Поскольку я немного знал об Aurelia и обнаружил, что ее легко встроить в существующее приложение, я решил ее использовать.

Думаю, это было правильное решение, и с Аурелией было очень приятно работать.

CLI

Я начал с загрузки инструмента Aurelia CLI. Я прочитал об этом в статье Мегарелиз в начале марта и решил попробовать. Это было довольно легко использовать. Создать новый проект было так же просто, как au new. Я указал название проекта, язык и все готово! Здорово!

Первый компонент

Я никогда раньше не работал с aurelia, но у меня довольно большой опыт работы с Angular, поэтому я думал, что это не будет проблемой. И я был прав! Я создал новый компонент, используя au generate element. Вызов компонентов element немного сбил меня с толку, но это всего лишь имя. Не так уж и важно. Я сгенерировал компонент, посмотрел на него и было совершенно очевидно, как его использовать. Единственное, к чему мне пришлось привыкнуть, это заключать весь HTML-код шаблона в тег <template>. Совершенно никаких проблем.

Потом я немного поигрался с <require> и нашел способ избежать необходимости в этом - прописывать компоненты в конфигурационном файле как глобальные ресурсы, аналогично тому, как это делается в angular. Вы можете не делать этого, если не хотите - вы можете придерживаться тега <require>. Но вы можете, если хотите избавиться от <require> шаблона. Большой + Аурелии.

Встраивание в существующее приложение

Использовать Aurelia с существующим серверным приложением довольно просто. Я быстро просмотрел документацию и смог запустить ее практически в кратчайшие сроки. Отлично! Действительно здорово! Аплодисменты Аурелии!

Документация

Я уже упоминал документацию несколько раз. Честно говоря, мне не очень нравится документация Аурелии — она действительно очень-очень сложная и мне было непросто в ней ориентироваться. (По крайней мере, если вы хотите прочитать его глава за главой). Это кажется мне слишком сложным. Также я мучился с выбором подходящей роли :) Вместо того, чтобы читать ее по главам, я использовал поиск, чтобы найти то, что мне нужно. Поиск действительно очень полезен, и он может помочь вам быстро найти то, что вам нужно.

Но я не особо читал документацию. Я просто писал код и когда мне что-то было нужно, я пользовался поиском. Самым большим сюрпризом для меня было то, как много я смог написать без документации. Я только что написал код TypeScript и немного HTML. Затем я быстро поискал в документации, как привязывать переменные к элементам, как использовать события, как писать операторы if и циклы, и это было в основном.

Я получил работающее приложение Aurelia всего за 20 минут, потраченных на документацию! Это замечательно!

Установка библиотек

Еще одна вещь, которая мне очень понравилась, — это простота установки новых плагинов. Мне нужно было использовать HTTP-клиент Aurelia. Поэтому я использовал au install aurelia-http-client, и он все установил и настроил за меня. Он даже показал мне несколько способов импорта библиотеки в TypeScript! Я был впечатлен еще раз.

Общее впечатление

Опыт использования Aurelia был для меня действительно отличным. Я чувствовал себя очень продуктивно, и я нахожу Аурелию очень удобной. Несмотря на то, что у меня около 1 года опыта работы с Angular, я сразу почувствовал себя более продуктивным с Aurelia — и это был первый раз, когда я использовал этот фреймворк! Я думаю, что Роб Айзенберг все правильно понял и отлично поработал над Аурелией. Я определенно могу порекомендовать Aurelia — даже людям, которые плохо знакомы с фронтенд-разработкой.

Первоначально опубликовано на klinki.github.io.