То есть вы советуете изучать фреймворк только потому что есть не нулевая вероятность оказаться на легаси говнопроекте на Yii1? Зачем вы человека пугаете.
KOPC1886: а это уже вам решать. Есть indexOf, есть some у массива... просто делаете проверку и все. Потом до вас дойдет вынести все это дело в сервисы и т.д.
Sergey Romanov: Да, это написано на оффсайте в главе "Extensibility". И да, Angular2 как раз таки и будет набором инструментов, пока он цельнометалический набор инструментов. Все завязано на несколько компонентов и сложно заменить что-то не выкинув половину всего остального.
>>патерн програмирования на JS
печаль беда. Вы про дата байндинг? MVVM? MVVM + dependeny injection + несколько других? Ладно проехали...
daruwanov: phonegap - инфраструктура, cordova - сам инструмент. Cordova в любом случае придется использовать. А использовать ли сервисы phonegap - решать вам. Если вы не хотите зависить от сторонних сервисов сборки - то тогда придется разворачивать все у себя.
Еще как альтернатива есть steroids.js - тоже основан на cordova и предоставляет свою инфраструктуру сборки + плюшки в виде возможности использовать нативный UI и несколько webview (каждый скрин - свой webview + есть нюансы).
Quilin: в функциональном программировании есть вполне себе устоявщийся термин - каррирование. Когда функция возвращает в качестве результата своей работы замыкание, имеющие доступ к значению аргументов вызываемой функции и т.д. и т.п. Задача подразумевает именно это а не "передачу чего-бы-то-нибыло по ссылке". Отдавайте хоть по ссылке хоть с копированием по значению хоть как угодно - у нас из замыкания просто будет доступ к родительскому скоупу где хранятся все нужные нам значения + свой контексте и аргументы.
А делегирование функций/методов - такое понятие по сути распространено только в ОО мире. Классы-делегаты, прокси классы... По сути все так же как и везде - просто терминология различается как и внутреннее устройство работы. В целом суть та же. Но поскольку мы говорим о JS то там довольно сложно найти информацию о "делегатах" ибо популярнее функциональные подходы. Я хотел указать лишь на это.
Quilin: я к тому что слово "делегат" в контексте js может ввести путаницу. В JS не нужно держать отдельную структуру для хранения "указателя" на функцию. Замыкания и анонимные функции в нем такой же объект как и любой другой. Так что вы в return возвращаете не делегат а просто объект по сути.
Quilin: Javascript не c#, в нем есть отдельное понятие - делегирование событий. Делегатов же в JS нет и небыло никогда, эта штука специфична только для .NET.
дата байндинг. Вы в контроллере пихаете в скоуп объект, а во вьюшках мэпите проверти на филды вашей формы. Ангулар все разрулит при помощи директивы ngModel. В итоге когда пользователь нажмет submit мы можем это дело отловить и у нас уже будут все данные в виде JSON объекта.
Сериализовывать формы так же не нужно - просто отправляем JSON и в Content-Type запроса прописываем тип. Если вы хотите использовать formdata вместо кашерного JSON то в интерцепторе разруливаем и преобразовываем.
Основная идея - все связано по минимуму. То есть в контроллерах нас не парит что происходит с данными внутри запроса или овтета - мы хотим что бы нам все готовое пришло. Во вьюшках нас не парит что внутри сервисов или на стороне сервера. Там дают данные, мы их обрабатываем или выводим или связываем с формой.
Словом... перед тем как пробовать ангулар на вкус - читайте документацию, смотрите примеры... просто так брать и использовать подобные инструменты нельзя. Это фреймворк а не библиотека с парой методов.