Пишу про разработку вообще и в частности про: JavaScript, HTML5, CSS3, AngularJS, ReactJS, Agile.

Разница между библиотеками раутинга route и ui-route в ангулар

Сразу предупреждаю, что этот материал не совсем для новичков, но, как говорится “не може молчать” 🙂 Вопрос раутинга важен и особенно остро стоит, когда не понятно почему есть две популярные библиотеки с сильно отличающимся подходом. При том что в Ionic по умолчанию встроена именно нестандартная библиотека. Не будут же эти ребята заниматься глупостями? значит нужно разбираться.

В ангулар есть 2 библиотеки дающие инструменты для управления раутингом – проще говоря переходом между страницами вашего приложения. Первая библиотека это Route, она идет в стандартном пакете ангулара и ее можно скачать с официального сайта. Вторая библотека это ui-route – она разрабатывается сторонними энтузиастами и не входит в официальный пакет, что не мешает ей быть популярной.

Основное понятие, которым оперирует ui-route это State, у route это Route.

States Routes
State оперирует конкретным местом в приложении
Иерархическая зависимость – у любого состояния могут быть “дети”
Каждому state дается имя, по которому к нему можно будет обратиться
Навигация по имени или по URL
Множество отображений контента ui-view
Route оперирует адресом URL
Одноуровневая зависимость
Имя route это его URL
Навигация только по URL
Только одно отображение ng-view

 
Если вы только начинаете работать с ангулар, то разумеется что самым правильным решением будет изучить стандартную библиотеку route. С ней вы все-таки будете сталкиваться чаще, а в свободное время экспериментов можно посмотреть в сторонy ui-route.

В конечном итоге для себя я решил, что стоит попробовать и то и другое и работать с тем что удобнее 🙂

Ссылки по теме:
https://docs.angularjs.org/api/ngRoute/service/$route
http://angular-ui.github.io/ui-router/site/
Tim Kindberg on Angular UI-Router

Поделиться:
comments powered by Disqus