Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   подойдет ли angular для следующих задач: (https://javascript.ru/forum/angular/41356-podojjdet-li-angular-dlya-sleduyushhikh-zadach.html)

timotheus 09.09.2013 23:29

подойдет ли angular для следующих задач:
 
Господа, доброго времени суток всем.

Моя цель - написание легковесного интернет-магазина, не больше.

Я освоил MVC-паттерн на php, понял как там выполняется маршрутизация, как происходит инициализация компонетов, обращение к БД и прочее.
Далее мне бы хотелось запилить все то же, но без перезагрузки страниц и желательно, чтобы это работало на мобильных браузерах и индексировалось поисковыми системами.

Самым простым решением мне показалось использовать ajax+jquery и чтобы ссылки анализировались на стороне сервера и соответственно выводилась запрашиваемая информация.

затем я подумал про использование history api, затем xui.js и наконец добрался до angularjs и запутался.

Может быть не нужен фундамент MVC? Достаточно иметь 1 php-файл, анализирующий url-ы, и возвращающий информацию из бд в виде json?


В общем я запутался. Не воспринимайте этот пост, как пост безнадежно тупого человека, я не программист, я только учусь-)

virus-07 10.09.2013 12:02

Скромное мнение: вам не нужен angular.
Сделайте обычный интернет магазин с ajax-добавлением в корзину, удобным дизайном и этого будет более чем достаточно. Уже потом, если всё будет в порядке и будет свободное время, поправите имеющуюся базу (видоизмените php-основу под api) и на клиенте поставите angularjs.

Он нужен для приложений. Я начал в нём разбираться, когда моё приложение на jquery перевалило за 1000 строк. Работало исправно, но маленькие правки заставляли кожу покрываться мурашками :)
До сих пор разбираюсь, многое непонятно и, так как порог вхождения у него высоковат, для начала посоветовал бы фреймворк попроще, мб backbone.

И потом, интернет-магазин с нормальным описанием товаров, фотографиями, отзывами, рекомендациями и пр. не лучшая почва для применения тех штук, которые делают angular крутым.

Riim 10.09.2013 15:26

Цитата:

Сообщение от timotheus
чтобы это работало на мобильных браузерах

прилы (вроде не сложные) на angular заметно "притормаживают" даже на desktop-е. На мобилках, наверное, вообще все жестко вешаться будет.

timotheus 11.09.2013 18:17

Спасибо, господа, за ответы =)
как говорится "будем посмотреть" =)

DjDiablo 11.09.2013 19:16

Не замечал за ангуляром сильных тормозов.

Ангуляр бы пригодился если были бы сложные расчеты по опциям, где много чего нужно было бы выбирать. Скажем если бы вы торговали автомобилями, где можно было бы выбрать цвет, движок, колеса, сиденья, руль и т.д. В зависимости от опций менялись бы графики и вид машины. Выбирать несколько машин и сравнивать их между собой.
Вот тогда бы я пожалуй сказал что ангуляр это неплохо.

В вашем случае Ajax можно сделать и без ангуляра, хотя можно и на нем конечно. Angular прекрасно сочетается с jQuery. Angular вам не обязателен.

Riim 12.09.2013 05:38

Цитата:

Сообщение от DjDiablo
Не замечал за ангуляром сильных тормозов.

да сильных то и нет, едва заметная задержка между кликом и реакцией (на разных компах по разному, где то от 30 до 150 мсек. на средненьком приле). Только на мобилках эта едва заметная задержка умнажается минимум на 5, и получаем стабильно тормозящий интерфейс.

Fronnt 24.09.2013 20:59

Можно вопрос - а как angular отслеживает изменения? Бесконечный цикл? Если да, с какой частотой обновляется основной?

DjDiablo 24.09.2013 22:01

Нет никакой частоты и нет никакого бесконечного цикла.

Обновление происходит только тогда когда вызывается $digest
Во многих случаях $digest вызывается автоматически. К примеру после срабатывания $watch
А вот из
setTimeout(function(){
  $scope.x++;
},100);

нужно дергать вручную.
setTimeout(function(){
  $scope.x++;
  $scope.$apply();
},100)

иначе на изменения в scope никто не отреагирует

Fronnt 24.09.2013 23:32

Признателен за ответ

nerv_ 26.09.2013 21:53

в контексте
Цитата:

Сообщение от Riim
прилы (вроде не сложные) на angular заметно "притормаживают" даже на desktop-е. На мобилках, наверное, вообще все жестко вешаться будет.

Цитата:

Сообщение от DjDiablo
Не замечал за ангуляром сильных тормозов

http://stackoverflow.com/questions/1...er-performance

ссылки на фидлы
Backbone + Ember: http://jsfiddle.net/jashkenas/CGSd5/
AngularJS: http://jsfiddle.net/mhevery/vYknU/23/
Knockout: http://jsfiddle.net/HusVw/1/

Ответ от создателя ангуляра http://stackoverflow.com/questions/9...693933#9693933

Цитата:

Even better is that with tools like AngularJS Batarang extension for Chrome, we allow you to easily instrument your application and understand which bindings on the page are slow and this allows you to focus on fixing the parts of your code that really matter.


Часовой пояс GMT +3, время: 10:11.