【问题标题】:Meteor, Laravel RESTful API + AngularJS or Laravel for my next web appMeteor、Laravel RESTful API + AngularJS 或 Laravel 用于我的下一个 Web 应用程序
【发布时间】:2015-01-04 20:14:36
【问题描述】:

我有 PHP 背景,并且使用 Laravel(3 和 4)构建了几个 Web 应用程序。我也有在我的项目中使用 RESTful API 的经验。

我当前的客户有一个 ERP,它是一堆 PHP 文件。这些文件包含大约 60K 行意大利面条代码。客户不想为开发该系统投入更多资金,因此我们决定重写整个应用程序。我知道重写的所有风险,并且我也阅读了 Joel 的文章 (http://www.joelonsoftware.com/articles/fog0000000069.html),因此无需讨论重构或重写。

对于新应用,我一直在考虑使用 Laravel(4 或 5)构建 RESTful API,并使用 AngularJS 构建前端。那是在我测试 Meteor 1.0 之前。它非常有前途,在这个项目中使用它会非常好。但是适合这种产品吗?

我客户的产品是这样的:

  • 此应用没有公开注册(管理员创建所有用户)
  • 复杂的用户权限(组级权限和用户级权限,6个组)
  • 文件处理(图像、pdf 等)。文件用作邮件附件。
  • 大数据表
  • 外部 API 调用

应用包含以下部分:用户、订单、优惠、时间跟踪、销售、报告、日历、客户。

那么在这种项目中使用 Meteor 是明智之举,还是您更喜欢 RESTful API + AngularJS 组合?我很犹豫,因为我担心在使用 Meteor 的大型项目中,代码会变得一团糟。

【问题讨论】:

  • “客户不想为开发该系统投入更多资金,因此我们决定重写整个应用程序。” - +1

标签: angularjs rest laravel meteor restful-architecture


【解决方案1】:

我正在对在 Google 的 similar project 上使用流星进行可行性分析,我认为 Meteor 会非常适合您的项目。

  • 管理员用户创建 - 检查Houston

  • REST API - [你不需要一个用于你自己的工具](需要用 Meteor 术语来思考。)。 Meteor 有一个更简单的机制 - Meteor.call and Meteor.methods

  • 用户权限 - 请参阅 roles

  • 文件处理 - 请参阅 CollectionFS 或在 Atmosphere 中搜索 upload

  • 外部 API 调用 - HTTP.get 使它变得微不足道。另请参阅 Atmosphere 以了解特定包装。

  • 大数据表 - 查看有关table widgets的答案

【讨论】:

  • 不错的清单!将来我想制作一个 iPhone(或 android)应用程序,将相机照片发送到这个系统。 PhoneGap 应该可以,但是以后添加支持是否容易?
  • @anttir:很简单——在github.com/meteor/meteor/wiki/…查看更多信息
  • 我已经学习 Meteor 一个星期了,我真的很喜欢它。所有初学者都应该阅读本书:discovermeteor.com
  • 我必须补充一点,你也可以在 Meteor 上使用 AngularJS 和这个包:angularjs.meteor.com
  • @Liko:具有良好 UX 的现代 Web 应用程序需要在客户端使用大量 JavaScript。对于服务器端,除非您拥有非常有价值的代码库或其他语言的专业知识,否则最好也选择 JavaScript,以实现同构、代码重用以及最小化上下文切换成本。除非你想生活在最前沿,否则choice is now between the MEAN stack and Meteor.
【解决方案2】:

不太了解 Meteor,但对于 Angular 变体,您可以使用 AngularJS 客户端和 REST 服务器查看此 POC 应用程序:

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

猜你喜欢
  • 1970-01-01
  • 2015-08-12
  • 2014-08-16
  • 2015-04-14
  • 2016-10-22
  • 2019-06-14
  • 2015-06-06
  • 1970-01-01
  • 2015-06-13
相关资源
最近更新 更多