如何为我的 Android 应用程序开发和部署后端服务器?

How to develop and deploy a back-end server for my Android application?

我正在开发一个基于Android的投票应用程序。此应用程序将用于创建用户帐户、接收通知和种姓投票。 我想为这个应用程序开发一个后端服务器,它也将有一个管理员界面来创建新的投票事件。我想知道实施该项目的所有选项。 服务器必须以安全的方式维护用户帐户记录,从电子邮件发送一次性密码,为从 Android 应用程序登录的用户实施会话,向应用程序发送有关即将发生的事件的通知。

我应该使用什么后端技术、数据库、解析(用于服务器和 android 应用程序之间的通信)、加密(用于安全通信)来实现这一点?

我还想知道如何在本地虚拟机和在线主机上托管此服务器。

如果您想要会话、管理视图、电子邮件集成、加密等,您的项目范围就太大了,甚至不知道它们将如何交互,甚至不知道使用什么语言。

至于您需要什么语言/服务,因任务而异:

  • 对于管理视图,您可能正在使用 CMS 查看 ASP.NET 或 PHP。

  • 在安全方面,您需要 MySQLi,或者最好是 PDO。如果您想要半适当的安全性,请务必阅读如何防止 LFI、RFI、SQLi 和 XSS 之类的事情。

  • ASP.NET 和 PHP 都可以处理会话,而且它们在任何一种语言中都相当容易理解,所以这不是什么大问题。

  • 虽然您可以使用 PHP 的 mail() 功能等脚本直接发送电子邮件,但您可能需要一个可以轻松监控用户频率等内容的系统单击某些链接,单击链接的人所在的位置,哪些活动最有效等。为此,您需要 MailChimp、Marketo 或 Pardot 等服务。

  • 至于如何让后端与前端交互,你正在使用Android,所以你可能正在使用Java。这意味着您将只能使用 HttpMethod 这样的函数。话虽如此,您可以创建普通 HTML 应用程序,或使用像 PhoneGap 这样的服务。在任何一种情况下,您都可以使用 AJAX,这将使事情变得容易得多。

  • 对于托管,只需 Google 搜索 'web hosting service'。确实有成千上万的体面的主机。有些比其他的定价更好,但有些具有更好的功能。我真的不能推荐任何出色的,因为它们都满足不同的需求。要在本地托管,您需要 IIS 或 WAMP / LAMP,具体取决于您是 运行 Windows 还是 Linux.

如果您对我提到的几乎每个术语都不熟悉,那么您的项目范围太大了,您肯定想缩减规模。

我不是要吓跑你,只是要确保你知道将所有这些放在一起是多么困难:)