Tag: 后端

移动应用程序后端开发的七个步骤

如果您要为移动应用程序构建后端,则必须采取什么步骤来完成它? 我将通过7个步骤总结后端开发: 确定后端和前端职责 编写初始端点并使其正常工作 设计API并记录下来 设计和实现数据库 编写后端测试脚本 使用编程语言实现API 部署 让我们更详细地完成每个步骤。 确定后端和前端职责 对于某些类型的应用程序,后端只是简单值的数据存储。 但是对于更复杂的应用程序,您可能必须在后端而不是前端执行复杂的任务。 在两种情况下,您将在后端执行复杂的任务: 您的数据需要在服务器上进行验证。 例如,用户试图播放音频文件,但是服务器必须通过检查数据库来检查她是否有权播放文件。 您的数据与系统的其他部分(例如数据库)进行交互。 例如,您的应用程序注册了一个必须更新用户数据库的用户,该用户数据库将向用户发送验证电子邮件,还向系统管理员发送电子邮件。 还有其他原因可能会在后端而不是前端上执行操作。 关键是要在开始之前大致弄清楚这一点。 编写初始端点并使其正常工作 在确定后端的职责之后,是时候启动并运行某些东西了。 您可以与客户端连接的实际服务器端点。 使用向后后端技术来实现这个目标。 这意味着为后端和前端应用程序都编写存根函数。 不是完整的API,而是足够使您拥有最少的工作后端。 设计API并记录下来 第三步是设计您的后端API。 关于设计RESTful API的讨论很多,但我认为您不必遵循本书的RESTful原则。 相反,只需清楚地记录每个后端API端点应该做什么。 对于每个端点,请清楚地记录客户端需要提供哪种类型的值,以及后端将返回哪种类型的值。 指定哪些值是必需的,哪些值是可选的。 例如,假设您有一个get_movies端点,该端点根据日期范围返回电影列表。 如果客户端提供了日期范围,则它将返回在该日期范围内创建的电影。 如果未提供日期范围,则使用从当前日期开始的过去一周。 记录这一事实很重要。 这似乎很简单,但是关键是要对其进行记录并保持 文档更新。 设计和实现数据库 现在,您可以从API文档中了解数据的结构以及如何存储它们。 在大多数情况下,请使用MySQL。 遵循良好的数据规范化原则,但要走得足够远 有意义,仅此而已。 编写后端测试脚本 用bash / curl或Python编写一个快速测试脚本,以验证所有后端端点是否正常运行。 使用编程语言实现API 现在是时候使用编程语言来构建API。 我更喜欢使用Python。 (我将在截屏视频中更详细地介绍) 部署后端 您可以使用诸如AWS之类的云服务来部署后端来托管后端,也可以使用专用主机。 这是一个很大的主题,我一定会在另一篇文章中介绍。 […]

Swift的阴暗面-后端服务器

Partiamo dall’inizio… 2014年 Apple Presenta durante la conferenza mondiale degli sviluppatori wwdc2014un nuovo linguaggio di programmazione destinato(目标C)utilizzato fino a quel momento per lo svilups di programOS allOS,OS OS, )。 Il scelto per il nuovo linguaggioèSWIFT(dall’inglese“ rondine”,“ rapido”)。 快速达成共识, 迅速达成目标,在目标C的客观C行为中使用未成年人的犯罪行为。 可能因语言问题而无法使用Apple Consiglia的问题。 Swiftpuòben definirsi il risultato di una attenta selezione darwiniana (in cui l’uomo recita la […]

移动开发人员pt.1的无尽痛苦

最初发布在我的博客上 后端的缺乏可能是移动开发人员成功之路的强大障碍。 当移动外包开发商甚至移动外包公司没有自己的后端和开发能力,而仅与现有客户的后端合作或将其外包给其他地方时,我就遇到过这样的情况。 我是移动开发人员,我希望后端能够自己工作,不再伤害我。 静态API的移动后端不是火箭科学,是吗? 应用之间共享功能的一部分是重要的,而不是唯一的。 因此,为什么不查找和使用现有的解决方案并节省多达50%的时间和精力呢? 我们需要的99%是: 实体CRUD操作 实体之间的关系 嵌套实体功能和非规范化存储以提高性能(有时) 用于图像,视频等的原始数据存储。如果可以通过外部插件扩展,则很酷 与第三方社交网络集成的身份验证例程。 用于创建ACL的用户角色 推送通知。 如果具有用户对用户推送功能,则很酷。 Websockets引擎满足实时需求,例如聊天 用服务器端脚本和功能扩展它的方法 应用内购买服务器端验证 SDK没关系,轻松的http api就足够了 自从Parse失败成功失败的故事以来,已经有成千上万的mBaaS(firebase,endendless等)出现和死亡。 这是不依赖它们的第一个原因,第二个原因是我不想付款。 天知道,如果该应用起飞,该怎么办。 因此,我也希望它是开源的,可以随时在我的服务器上进行部署,并让社区修复错误))) 这是我自己的特点,但我希望不要用JS编写。 从类型安全的角度来看,Python也很糟糕,但至少我了解python。 这是mBaaS替代品的详尽列表。 随时与任何一个分享您的经验。 我还将分享我对其中一些的想法。 您可能会对Parse充满信心,因为您可能认为开源版本与服务本身上部署的版本相同。 这是令人惊讶的(可能有一天会让您生气),因为文档相同,但解析服务器却不同。 顺便说一下,这些家伙重新发明了原始的解析服务。 这是开源版本中缺少的内容的几乎正确的列表。 分析,应用内购买验证,服务器端工作和功能是最令人失望的缺少功能。 社区已经实现了仪表板,推送通知和电子邮件适配器。 我没有尝试过实时实时查询,可能还缺少它们。 关于Parse SDK,您应该了解的另一件事是,它不能替换您应用程序的本地存储(核心数据/领域),尽管在阅读文档后看起来似乎如此。 如果您尝试过,可能您可能会发现自己发明了一些使用解析本地数据存储和查询缓存的解决方法。 而且您可能最终会因筋疲力尽而使coredata回到您的项目中。 不幸的是,我有一个利用开源Parse服务器的项目,也许有一天我会写一篇文章,名为“令人失望的关于Parse可伸缩性的方法文章”。 Baasbox似乎具有所有必要的功能。 而且它用Java编写,这使我的灵魂保持温暖。 他们的着陆页显示他们有很多应用程序,api调用等。但是不幸的是,他们的存储库像陵墓中的列宁一样是沉默的,而且我发现该项目已经死了。 这是一个非常有趣的项目,具有一系列积极地被贡献的功能。 他们为金钱提供mBaaS,并为开源提供开源后端解决方案,插件和SDK。 服务器本身用Go语言编写(不错!),服务器端脚本API用python语言编写(不错!)。 我一定会密切关注它,也许会尝试一天。 我也发现它很有趣,尽管它只是mongo db的Restful API。 可能是完整的移动后端和手工后端之间的良好中间解决方案。 我敢肯定,有一天,这种服务器端快速框架之一将获得如此强大的生态系统,这将使其能够克服其他mBaaS解决方案。 但是现在,我在等。 […]