ex3xeng: если у вас нет опыта с подобными системами то проще взять socket-io под node.js. Для оного и клиенты есть под все и почти на все есть готовые реализации.
copal: пффф, мне еще учиться и учиться. Вы бы видели мой TODO список того с чем разобраться да почитать (я правда его храню в голове)... А крутые разработчики обычно просто на тостере не тусуются ну или вкладывают чуть меньше свободного времени, вот и создается такой контраст. Так что... как-то так.
p.s. важная мысль - не доверяйте чувакам в интернете, даже если считаете что они авторитетны.
nepster09: Yii2 хороший фреймворк. Простой как пробка, идеальный для простых проектов или MVP. Но когда речь идет о масштабировании кода не для всех проектов он хорош. Хотя опять же, и на нем можно делать те же штуки что и в Symfony, просто для некоторых вещей кода меньше а для некоторых - больше.
nepster09: это неверная трактовка как концепции HMVC так и MVC как таковой. Модули это модули, MVC это MVC. MVC относится только к отделению UI от приложения, HMVC форсит идею разделения UI на иерархию маленьких контролов/виджетов/компонентов. То есть идея UI как композиция виджетов. Но приложение у вас всеравно одно, это может быть один модуль.
p.s. не знаю что там в Yii2 намудрили и не особо интересно знать.
copal: Нельзя работать с DOM но если совсем никак то можно. Ну то есть необходимость делать свои декларативные примитивы которые должны изменять DOM таки имеется, с другой стороны что всяки раз когда появляется желание порыться руками в элементах, то следует остановиться на минутку и подумать, можно ли это сделать на стандартных примитивах. И в 90% случаев - можно.
Angular имеет определенную философию, UI должен быть декларативным и реагировать на изменения состояния UI. Это позволяет перестать волноваться о том что там в UI происходит, резко понижает сложность, снижает риски и т.д. Императивная логика работы с DOM для ангуляра чужда, и это нужно в очень редких случаях. И да, обычно для этих случаев уже есть готовые решения.
iluxa1810: EnityFramework вопервых появился в 2008-ом, во вторых это data mapper, то есть отдельный вид ORM. Hibernate например появился в 2001-ом. ORM-ок много разных, а LINQ никаого отношения к ORM по сути не имеет. Это отдельная крутая штука для работы с данными.
bromzh: не торопите события, angular2 еще в бете, в первой версии беты. Это всего-лишь значит что они перестали каждый день менять API, пошел этап стабилизации и написания документации. Все будет, и я надеюсь в течении пары месяцев дождаться релиза. Пока же я только тыкаю второй ангуляр и радуюсь. А еще я изучаю react + redux что бы улучшить архитектуру проектов на angularjs. Хотелось бы попробовать и ember так как там решены те же проблемы, но... я еще и на бэкэнде хочу много чего сделать, потому пока никак...
Angular имеет не высокий порог входа, а скорее огромное количество сущностей, и это только по той причине что он старше того же backbone. В angular2 все это почистили, но никто не мешает делать все на основе компонентов в angular1.x.
React относится ко view но это не совсем правда. Помимо реакта вам нужно еще тонны инфраструктуры добавить и скорее всего вы закончите на react + react-router или redux. И порог входа сильно увеличивается если не разбираться. JSX простой, его можно за пару дней освоить.
Backbone из коробки простой, да, но просто на Backbone вы ничего толкового не напишите. Придется подключать какой marionette.js и т.д И опять же все становится намного сложнее.
Все фреймворки во фронтэнд мире идут примерно в одном направлении. Рекомендую вам посмотреть в этот докладик на эту тему: Ember = Angular = React
bromzh: ммм... ну как бы не совсем так. Вы можете взять тот же webpack, использовать commonjs модули у себя и импортировать странспайленный JS ангуляра к себе. Это просто сложнее.
С ES6 ситуация такая же. Ангуляр вы используете TypeScript-овский, но скомпиленный в ES6, по сути отличается TypeScript от ES6 только тем что TypeScript содержит в себе кучу кусков стандартов которые еще в stage-1 (те же проперти) а так же информацией о типах.
Словом... должны скоро опубликовать доки как с этим всем работать на ES5/ES6. Да и примеров в сети уже думаю можно найти.
SolovyevMax: ммм... какой именно язык не вышел из бэты? Angular сам по себе на typescript но писать вы можете хоть на ES5 под него, просто пока ангуляр в бэте документацию под ES5 еще не написали.
copal: JWT позволяет вам хранить частоиспользуемые данные (например юзернейм, роли) прямо в токене и это избавляет клиент от необходимости забирать эти данные с сервера. Если у нас все еще и подпись формируется используя RSA то чисто теоритически можно еще и достоверность данных проверять на клиенте публичным ключем, но я так не делал пока.
По поводу того где нам это дело хранить. Если мы храним JWT токен в HTTP ONLY куках, то толку от JWT нет никакого. Если мы просто храним в куках, то как бы... все ок. Нам даже не надо следить за тем что токен отправляется с каждым запросом - он и так будет. Ну и есть еще безумные варианты удалять это дело из кук, мувать в локал сторадж и оттуда уже по старинке.
По поводу session_id - немного не понял. Если вам не нужна по бизнес логике отдельная сущность сессий - то сессий не будет, будет только токен. Если вам надо дать возможность пользователю закрывать сессии (например как в фэйсбуках или гугл аккаунтах) - то сессии отдельные нужны, связь между сессией и клиентом опять же в токене. То есть сервер всеравно становится stateless.
опять же, смотря от чего вам проще защищаться и каковы риски.