Anonymous
изоморфность есть, проблем с сео нет
Imelstorn
да, реакт поэтому и любят, что можно генерить все на сервере, соответственно уходят проблемы с сео
Imelstorn
я бы все-таки смотрел в сторону реакта - много успешных проектов, большое комьюнити, много разрабов (ресурсозаменяемость), множество готовых решений, технология более-менее обкатана. На ангуляр 2 пока смотрю с опаской.
sanqa
ну блин дизайн приходилось самому придумывать на ходу, хз думаю для не дизайнера, он норм получился DDD
Imelstorn
#whois Александр, Imelstorn
в данный момент тружусь на Hewlett Packard
предыдущий опыт - разработка аналитической платформы для рекламодателей на канале AMC (там был опыт использования angular).
Вообще, веб-разработкой занимаюсь более 10 лет. Чат посоветовали коллеги. Интересен в рамках расширения кругозора по ангуляру.
sanqa
а поскидывайте свои SPA типо shopping cart или каталога обычного
sanqa
посмотреть на пободное
Anonymous
Отлично, спасибо, это то, что я искал :)
Viktor
И поэтому я не пишу сюда такие сообщения
Viktor
и другие не пишут
Viktor
:)
Anonymous
Прошу прощения, как-то не дочитал pinned message
Anonymous
есть у кого опыть с angular 1.x +redux ?
Jared
Jared
Imelstorn
Jared
Достаточно грамотно SEO страниц строить на уровне роутов
Jared
Jared
Это я больше про поддержку действующих проектов и доп. усилия по сео-оптимизации - за нас уже обо всем позаботились, можно сосредоточиться на стандартных методах. Новые проекты однозначно надо начинать уже на втором ангуляре
Алексей
Последний раз предупреждаю в профильный чаты работу не постить! Все что связанно с работой (фриланс, удаленка, работа в офисе - в @javascript_jobs пожалуйста)
Nikolay
Немного оффтопа. Сталкивался кто с проблемой что в 52 лисе не работают sourcemap ?
Konstantin
Кто имеет опыт по миграции на Angular 2?
Aleksei
Konstantin
Про миграцию на ангуляр 2
___________________________
Вопрос номер 1-раз.
Как обосновать это для заказчика? Какой реальный профит кроме потраченного времени на миграцию и постотладку?
Дима
Можно припугнуть, что иначе потом придётся переходить уже на angular 4)
Aleksei
Konstantin
Не убедительно.
Дима
😄
Konstantin
Какие реальные плюсы?
Konstantin
Чем это поможет бизнесу?
Max
Вопрос, есть небольшое спа приложение с юай роутом, все переходы по стейтам норм работают, пока не нажмешь в браузере назад, и парент стейт не перезагружается, и появляются typeerrors
Konstantin
Konstantin
Ну ты уже нарыл что-то полезное для решения вопроса?
Konstantin
Если, что то тут народ сидит https://telegram.me/angular2
Sasha
Неа, пока не могу решить. Все равно, не раньше марта это делать. А вообще, я и там и там. Хотя я больше бэкендер, но так уж вышло
d0as8
можно попробовать обосновать тем, что ветка 1й версии тупиковая. у 2+ вроде как роадмап уже заполнен до 5 версии. есть намеки на улучшенный перфоманс. использование тс упростотит поддержку и отладку кода, а значит и издержки
Max
есть что то похожее на angular-permission ?
Konstantin
Konstantin
Если интересно, могу поделиться мыслями и примерами своей реализации.
Max
Konstantin
1-я основная мысль.
Т.к. SPA приложение полностью открыто, т.е. весь код приходит на клиент, то бэк должен обязательно контроллировать права, и при несанкционированном доступе ругаться!
Konstantin
В SPA приложении права проверяем для управлеия GUI...
Max
d0as8
а в чем проблема отдаать весь спа всем без разбору? главное ограничить доступ к данным на уровне бекенда... это делаптся через сессии и средствами бекенда
Max
и как раз думал с помощью angular-permission, не давать заходить по прямым ссылкам на определенные стейты приложения в зависимости от того какой юзер залогинился
Max
Konstantin
Как работает у меня...
При авторизации пользователя, с БЭКа тянется массив всех разрешений пользователя.
В сервисе есть метод can который проверяет наличие права у пользователя.
В нужный момент, где-то в коде, проверяем наличие права и дале что-то делаем или не делаем...
Реализация метода can:
/**
* Проверка прав доступа для текущего пользователя
* @param {string} permissionName имя права (разрешения)
* @returns {boolean}
*/
function can(permissionName) {
var userInfo = _getUserInfo();
return (typeof userInfo === 'object') && (userInfo['permissions'].indexOf(permissionName) > -1);
}
Использование где-то в коде:
http://joxi.ru/YmE06ph0bbaar6
Anonymous
Тем более если на сервер сайде нет проверки на права доступа (что неправильно)
Max
d0as8
почемв у реста не должно быть сессиий? стейтлес?
Konstantin
у REST должна поддерживаться полная независимость от состояний клиента
Anonymous
d0as8
вот я не вижу туту состояния кдиента. в данном случае сессия что и токен. индетификатор пользователя и его прав и только
Konstantin
Сессия закреплена за конкретными вызовами из конкретного барузера. В сессии как правило сохраняют каки-то доп. данные о текущей работе пользователя.
Работа без сессий предполагает, что каждый запрос самодостаточен и все запросы могут быть выполнены в любом порядке не зависимо друг от друга.
Konstantin
Цитата:
В отличие от Web-приложений, RESTful API обычно не сохраняют информацию о состоянии, а это означает, что сессии и куки использовать не следует. Следовательно, раз состояние аутентификации пользователя не может быть сохранено в сессиях или куках, каждый запрос должен приходить вместе с определенным видом параметров аутентификации. Общепринятая практика состоит в том, что для аутентификации пользователя с каждым запросом отправляется секретный токен доступа. Так как токен доступа может использоваться для уникальной идентификации и аутентификации пользователя, запросы к API всегда должны отсылаться через протокол HTTPS, чтобы предотвратить атаки «человек посередине» (англ. "man-in-the-middle", MitM).
d0as8
хорошо. есть токен, он привязан к абоненту и правам. более того, токен аверняка имеет время жизнь и все это сверяется на беке. это же состояние?
Konstantin
Все верно описал. Но это не состояние. Это способ аутентификации и выяснения можно ли выполнить запрошенный код и от дать данные.
Состояние это... Допустим оформление заказа. На шаге 1 вносится некая инфа, она сохраняется в сесии и идем на шаг 2, потом шаг 3....
Отключение сессий в первую очередь запрещает подобные поведения. Ожидается, что фронт сам должен переварить у себя все шаги и единоразово что-то отдать беку получив вменяемый ответ
d0as8
да. но сессия используется как токен, то стейтдес не нарушается. как по мне так те же яйца... может, конечно есть соблазн чтото- хранить в сессии, но это,имхо, не причина отказаться от нее
Bohdan
а в чем профит стейтлес и того что сессии не используются?
d0as8
вы вносите данные в сессию на стороне спа?
d0as8
прозрачность архитектуры
Aleksei
А как хранить ссылку на spa? , открыл spa, перешел по роуту, но если перейду по получившейся ссылке, то бэкенд даже не поймет что делать. Пришла в голову идея записывать в куки куда просятся и перекидывать на spa и там руками переходить на нужный роут, но что-то вроде не очень это.
Kir
Aleksei
То есть я правильно понял что я просто прокидываю url на фронт и там уже разруливаю?
Kir
Даже прокидывать не надо, он же там доступен уже. Ну какой-нибудь ui-router так же разберет строку.
Единственно понадобится <base href="/" /> в SPA
И следить за относительными ссылками в коде
Kir
И html5Mode у locationProvider должен быть настроен правильно
Aleksei
Понял, спасибо, буду разбираться
Nikolay
Такой вопрос, если не писал под angular примерно год, я сильно отстал? И кроме доки что то нужно почитать чтоб наверстать?
Igor
Igor
бери сразу 2й
Nikolay
второй сейчас учу
Nikolay
но на работу берут пока с первым
Дима
В вакансиях постоянно уже вижу второй
Paco