我正在开发一个包含 iOS 和 Android 应用程序的系统。我有两种方法:
1 - 我想过使用 MySQL 作为后端。然后使用jersey 在 java 中使用 REST将我的资源传输到应用程序。
2 - 目前我听说Parse被认为是一种向移动应用程序添加后端的简单方法。它允许移动开发人员在没有服务器的情况下编写服务器代码。
你的建议是哪一个?请以适当的理由和您的个人经历支持您的回答。
我正在开发一个包含 iOS 和 Android 应用程序的系统。我有两种方法:
1 - 我想过使用 MySQL 作为后端。然后使用jersey 在 java 中使用 REST将我的资源传输到应用程序。
2 - 目前我听说Parse被认为是一种向移动应用程序添加后端的简单方法。它允许移动开发人员在没有服务器的情况下编写服务器代码。
你的建议是哪一个?请以适当的理由和您的个人经历支持您的回答。
如果你想时尚,使用 node.js 和 MongoDB。(虽然 MongoDB 不再流行,但它允许任意长度的二进制文件并且运行良好。)PHP 与 MongoDB 也可以正常工作。
我的理由是:它们是广泛使用的技术,进入门槛非常低。除非您想维护您的 JVM,否则请避免使用 Java。
假设您的移动应用程序的典型后端涉及一个或多个 REST API,并提供服务器端功能,例如用户身份验证、通信(例如聊天、消息传递)或持久性(例如游戏的排行榜或检索与地理位置相关的数据)。您基本上有您提到的两个选项,构建自己或使用后端即服务平台。
建立自己(优点):
建立自己(缺点):
如果您缺乏服务器端编码经验,那么学习曲线非常高
如果您需要更改某些内容或添加功能,则实施时间更长,并且更难快速迭代
如果您缺乏经验(例如安全漏洞、可靠性等),关键问题的风险会更高
系统部署后,您需要对其进行监控和维护。如果应用程序足够大,这可以成为一份全职工作
后端即服务平台(专业人士):
启动和运行某些东西要快得多。如果您要推出新产品并想要验证市场,这将是一件大事
受益于构建平台的服务器端开发人员的多年经验
通常,平台会提供已经满足您需求的现成组件
运行和操作后端是服务的一部分,您无需担心。
如果您考虑时间投资,或者如果您聘请后端开发人员为您构建它,它实际上比自己实现它更便宜
它使您可以将精力和时间集中在客户端应用程序上,无论如何,这是您最有可能脱颖而出的地方
后端即服务平台(缺点):
您的灵活性较低,具体取决于平台(有些比其他更好)
通常会产生经常性成本(尽管如果您自己构建它来运行服务器和数据库,也会产生一些成本)
提供者总是存在关闭的风险(如 Parse),而您只能争先恐后地寻找替代方案或自己重建它
现在有许多后端即服务平台可供选择。不幸的是,Parse 已不再是其中之一,已被 Facebook 收购并随后关闭https://www.computerworld.com/article/3027537/application-development/facebook-is-closing-down-its-parse-developer -platform.html
如果您在服务器端没有太多经验,或者您的时间有限并希望将注意力集中在客户端应用程序上,我认为后端即服务平台是一个不错的选择。最大的好处之一是快速迭代。如果您意识到您的功能没有达到目标,您可以尝试一些东西并以相对较少的投资快速更改它。可以在此处找到后端服务提供商的一些示例https://en.wikipedia.org/wiki/Mobile_backend_as_a_service。
一些平台实际上允许您构建一个完整的自定义应用程序而无需实际编写任何代码,其中一些平台提供现成的组件(如聊天、排行榜等),但灵活性较差。
以下是后端即服务提供商的列表:
我参与了一个 iOS/Android 应用程序的开发。我们使用 java 编码的服务器作为在 Tomcat 7 上运行的 Web 服务,具有 mongoDB 数据库和用于通信的 JSON 解析。当然不是有史以来最好的解决方案,但它确实有效。