Meteor, Laravel RESTful API + AngularJS или Laravel для моего следующего веб-приложения

У меня есть фон PHP, и я создал несколько веб-приложений с Laravel (3 и 4). У меня также есть опыт использования RESTful API в моих проектах.

У моего текущего клиента есть ERP, который представляет собой набор файлов PHP. Эти файлы содержат около 60 тысяч строк спагетти-кода. Клиент не хочет вкладывать больше денег в разработку этой системы, поэтому мы решили переписать все приложение. Я знаю все риски, связанные с переписыванием, и также прочитал статью Джоэла (http://www.joelonsoftware.com/articles/fog0000000069.html), поэтому нет необходимости в рефакторинге или обсуждении переписывания.

Для нового приложения я думал создать RESTful API с Laravel (4 или 5) и внешний интерфейс с AngularJS. Это было до того, как я протестировал Meteor 1.0. Он очень перспективный и было бы очень неплохо использовать его для этого проекта. Но подходит ли он для такого продукта?

Продукт моего клиента выглядит примерно так:

  • Нет общедоступной регистрации для этого приложения (администратор создает всех пользователей)
  • Сложные пользовательские разрешения (разрешения на уровне группы и разрешения на уровне пользователя, 6 групп)
  • Работа с файлами (изображения, pdf и т.д.). Файлы используются в качестве вложений сообщений.
  • Таблицы больших данных
  • Внешние вызовы API

Приложение содержит такие разделы, как: пользователи, заказы, предложения, отслеживание времени, продажи, отчетность, календари, клиенты.

Так разумно ли использовать Meteor для такого рода проекта или вы предпочитаете комбинацию RESTful API + AngularJS? Я колеблюсь, потому что боюсь, что в больших проектах, использующих Meteor, код превратится в беспорядок.


person andyr    schedule 07.11.2014    source источник
comment
Клиент не хочет вкладывать больше денег в разработку этой системы, поэтому мы решили переписать все приложение. - +1   -  person Dan Dascalescu    schedule 08.11.2014


Ответы (2)


Я работаю над технико-экономическим обоснованием использования метеора в похожем проекте в Google, и я думаю, что Meteor отлично подойдет для вашего проекта.

  • Создание пользователя с правами администратора — отметьте Хьюстон

  • REST API — [вам не нужен для ваших собственных инструментов] (нужно думать в терминах Meteor. ). У Meteor гораздо более простой механизм — Meteor.call и Meteor.methods.

  • Разрешения пользователей — см. пакет ролей

  • Обработка файлов — см. CollectionFS или найдите в Atmosphere загрузить.

  • Внешние вызовы API — HTTP.get делает это тривиальным. См. также Атмосфера для конкретных пакетов.

  • Таблицы больших данных — см. этот ответ о табличных виджетах

person Dan Dascalescu    schedule 07.11.2014
comment
Хороший список! В будущем я хочу сделать приложение для iPhone (или Android), которое отправляет фотографии с камеры в эту систему. Это должно быть возможно с PhoneGap, но легко ли добавить эту поддержку позже? - person andyr; 10.11.2014
comment
@anttir: довольно просто — подробнее см. на github.com/meteor/meteor. /вики/ - person Dan Dascalescu; 10.11.2014
comment
Я изучаю Meteor уже неделю, и мне это очень нравится. Всем новичкам следует прочитать эту книгу: discovermeteor.com - person andyr; 13.11.2014
comment
Я должен добавить к ответу, что вы также можете использовать AngularJS поверх Meteor с этим пакетом: angularjs.meteor.com< /а> - person Urigo; 18.11.2014
comment
@DanDascalescu Спустя год после этого поста и большего опыта работы с метеором вы по-прежнему рекомендуете метеор для крупных проектов, таких как, например, электронная коммерция? - person Liko; 25.10.2015
comment
@Liko: современное веб-приложение с приличным UX потребует значительного количества JavaScript на стороне клиента. Для серверной части, если у вас нет очень ценной кодовой базы или опыта работы с другим языком, лучше также выбрать JavaScript для изоморфизма, повторного использования кода и минимизации затрат на переключение контекста. Если вы не хотите жить на переднем крае, теперь выбор между стеком MEAN и Meteor . - person Dan Dascalescu; 03.11.2015

Не много знаю о Meteor, но для варианта Angular вы можете взглянуть на это приложение POC, используя клиент AngularJS и сервер REST:

https://groups.google.com/forum/#!topic/angular/Q3GrhAH39AU
http://www.civilian-framework.org/doc-samples.html#crm

person wero    schedule 08.11.2014