Подскажите, я бросал программирование и сейчас снова вернулся. Опыта особого не было, то есть знаю yii2, angular,jquery, less... Но толком ничего не разрабатывал, почти..
Стоит учить ещё angular, я пока доучиваю yii2 и простенькие проекты на нем хочу сделать. Какой смысл разделять клиентскую на ангулар, серверную на yii2? Стоит ли после того как буду уверен в своих силах в yii2 смотреть на angular или не стоит стараться все и сразу учить?
Laravel бери и не мудри. Если нет нормального опыта работы с javascript (jquery не считается) - лучше не брать angular. Лучше погоди чутка пока не релизнится ng2, по ng1 слишком много булшита написано, достаточно вопросы на тостере глянуть.
Но по вопросу "совмещение" - учить надо по отдельности, да и работать это все независимо друг от друга. Ангуляры отдельно, бэкэнды отдельно, между ними rest api. Ну то есть бэкэнды ничего не знают о том на чем написан клиент и наоборот.
я с rest api не работал, делал только просто блог, интернет-магазин. У меня просто немного затянулось, начал я с языка с++ и там пару игр пробовал, а потом с вебом как то затянулось, ибо не было опыта в обучение и следовало взять учителя.
Можете вкратце описать пример сайта где следовало бы использовать ангулар на фронтэнде и ларавел на бэкэнде и в чем заключается роль rest api?
ngc789: Можете работать с Yii но документацию по Laravel проглядите. Там много пересекающихся вещей, а документация по Yii мягко скажем описывает только Yii, сам же Yii предлагает решения только для очень простых задач.
По поводу angular на фронтэнде и что-то там на бэкэнде - вот мы сейчас на тостере - можно это дело на ангуляре сделать. Или хабр. Или любой другой проект. Только тупые сайты визитки, где просто статический контент и никакого интерактива лучше делать тупо как статический сайт. Словом, там уже идет здравый смысл и оценка профита.
Роль rest api - транспорт данных между фронтэндом и бэкэндом. интеграционный слой. Как RPC или что вы там могли юзать. Опять же гугл в помощь.
Сергей Протько: я имел в виду какой смысл использовать оба фреймворка. Ведь как я понимаю, все то что на yii можно реализовать на ангуляре или тут просто есть некие готовые решения, к примеру на ларавеле с которыми удобно использовать его на бэкэнде, чем если бы все то же самое делать на англуяре?
P.S javascript я проходил на джаваскрипт.ру, но ограничилось все просто компонентами небольшими, таймерами и т.д, ничего толком серьеного, но уровень не лишь jquery. Просто много технологий и библиотек, фреймворков и вакансий много для разных технологий. node,mongodb, express,react и т.д В общем проблема любого новичка, глаза разбегаются и постоянно переучиваться тоже не хочется и так в основном на первых порах практики недостаточно.
ngc789: angular - клиент, yii - бэкэнд. Вы не можете реализовать бэкэнда на angular, так как это UI фреймворк, предоставляющий какую-то дополнительную инфраструктуру и общий каркас в виде контейнера зависимостей и т.д.
Вопрос выбора решается просто - концентрируйтесь на языке, фреймворка это второстепенная штука, важно понимать принципы заложенные в оные. И желательно хотя бы два фреймворка пощупать.
MOTORIST: я не собираюсь спорить с адептами Yii о преимуществах, которые дает более взрослый фреймворк перед более RAD-ориентированным фреймворком. Это спор в духе active record vs data mapper - все все понимают но фанатично отстаивают свои точки зрения.
Сергей Протько: Да они одинаковые. Все современные PHP фреймворки одинаковые. Любой из них можно изучить за час, если знаешь хотя бы один. В Лаврухе нет ничего такого, чего нет в Yii2. Эти хипстерские высказывания бери Лавруху, потому что это круто, немного раздражают. В Yii2 все есть чтобы делать REST приложения yiiframework.domain-na.me/doc/guide/2.0/ru/rest-qu...
MOTORIST: Yii идеален для прототипов, MVP и т.д. но если нужен быстрый рост, частые изменения и тд. обычно разработчики начинают проигрывать. И как правило как раз-таки из-за слепой убежденности "что все у всех одинаковое и ничего мне для счастья больше ненадо". Во всяком случае все те проекты на Yii которые мне довелось видеть говорят именно об этом.
Вообще повторюсь - даже если вы работаете с Yii, вы должны знать еще хотя бы один а лучше два мэйнстрим фреймворка (Laravel, Symfony) что бы понимать разницу между ними и выбирать для задачи наиболее оптимальное решение.
Сергей Протько: Вы бросаетесь какими то общими фразами, без конкретных доводов. Я щупал Laravel и никаких преимуществ и сверх плюсов не увидел. Те же яйца только в профиль. Все эти фреймворки решают одинаковые задачи. Я понимаю если бы выбор стоял между php фремвоком , Django и BeeGo.
1) https://laravel.com/docs/master/middleware - да, для Yii есть экстеншен (pipes вроде) который предназначен примерно для тогоже, но не из коробки а потому чуть более чем бесполезен, так как готовых решений уже сильно меньше. У экосистемы ларавели почти все реюзабельное можно через мидлвэры разрулить
2) https://laravel.com/docs/master/validation#form-re... - намного более верный подход валидировать именно запрос, а не промежуточный вариант манипуляций. Это позволяет разграничить валидацию данных и валидацию бизнес правил
3) https://laravel.com/docs/5.0/bus - шина команд, что бы люди не писали логику в контроллерах.
4) количество готовых решений, взять те же сервисы для биллинга и т.д. Покажите мне такое же качество готовых решений для Yii.
Сергей Протько: все это есть. Готовых решений не меньше. Про валидацию вообще не понял. В Yii2 ее можно как угодно вертеть, так и на клиенте автоматом генерируется. RBAC?
MOTORIST: покажите мне где это все есть. По валидации - вы видимо не поняли, я говорю о валидации именно запроса а не сущностей (в моих проектах сущности не валидируются потому что они в принципе не могут войти в невалидное состояние).
RBAC - есть более крутые штуки и подходы, посмотрите хотя бы на symfony/voters, на которых можно запилить и RBAC любой сложности и более сложные правила.
MOTORIST: Yii велосипед. Новичкам он вреден, поскольку у них сразу в голове неправильные концепции формируются. Опять же ребятки которые пишут на Yii и при этом у них нет опыта с другими фреймворками как правило намного слабее чем все остальные (сужу по проведенными мной собесами и общениями в gitter-ах).
Сам по себе Yii имеет свои плюсы, особенно в контексте быстрой разработки простых проектов. Но влазить в него лучше когда уже есть представление о том, что такое хорошо, а что такое "надо быстро".
Все зависит от чем ты собираешься заниматься. Во многих компаниях разделяют серверную и клиентскую часть. И набирают узкоспециализированных программистов. Если ты тяготеешь к JS, то ознакомиться с Angular стоит. Ну или для общего развития. Пока не попробуешь, не узнаешь.
Если будешь использовать Yii2 для серверной части, то советую почитать yiiframework.domain-na.me/doc/guide/2.0/ru/rest-qu...