×

深圳网站建设—APP开发—网站制作—小程序开发_博纳网络公司

0755 -
82538016
82560826
网站制作资讯

深圳APP开发公司分享APP后台管理端制作经验(三)

文章编辑:网站建设 文章来源:APP开发 浏览量:

 本文接上篇未完文章,深圳APP开发公司希望通过此类文章给需要或者计划开发APP的广大客户一个理解APP的制作流程。
一、APP开发后端是返回给API的数据格式
API一般是以HTTP的形式调用的,通过HTTP传入参数返回数据。那么,App后台以什么样的格式返回数据呢?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等),这些特性使JSON成为理想的数据交换语言。同时JSON易于阅读和编写,也易于机器解析和生成。下面是一个JSON格式的例子:{"age":11,"name":"jeff"}另外一种常见的数据格式XML,其用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。下面是一个XML格式的例子:<?xmlversion="1.0"encoding="UTF-8"?><name>jeff<name><age>11<age>读者比较一下上面举例的XML格式和JSON格式的数据,表示相同的数据内容,XML格式比JSON格式需要花费更多的字节。从上面的对比很容易看出,JSON格式更省流量,所以现在大多数API(例如新浪微博的开放API)都是以JSON作为返回数据的格式。App和App后台的通信过程如图所示。

二、App后台和Web后端的区别很多从Web后端转到App后台的读者经常很茫然,不知道这两者之间有什么区别。深圳APP开发公司通过例子,分析Web后端和App后台的区别,使读者能更好地把握App后台的架构。

1.App后台要慎重考虑网络传输的流量,主要在API设计、图片处理上现阶段手机上网的资费还是要按照流量算的,一般的3G用户,每个月的流量几百MB,4G用户,每个月的流量也只有几GB。如果不考虑网络传输的流量,一张图片就占了几百KB的空间,流量用得飞快。在前面的文章“1.3App和App后台的通信”中提到,API的返回结果一般是JSON格式,使用JSON格式的一个重要原因是,同样的内容,用JSON格式更省流量。App下载的图片也一样,一个节省流量的处理方法是让App下载经过压缩的图片(一般是几十KB以下),当用户需要查看原图时才下载原图。
2.移动手机弱网络环境移动手机因为不断移动的特性,特别是在高速移动的过程中,信号时有时无。因此App后台发给App的信息是无法保证一定到达App的,极有可能的情况是:当App后台发送信息的时候App是连接网络的,但发送的过程中网络断开了,这样App就无法收到消息。例如,推送系统中App要保存接收到的消息编号。服务端发送了编号为1、2、3这3条推送消息给App,App接收消息的过程中网络断开了,App端只收到消息编号为1、2的消息,这意味着编号为3的消息丢失了,但是推送服务器是认为编号为3的消息已经推送成功了。
3.手机电量有限普通的手机电池被充满后能用一天左右,如果在App端做大量的网络请求和运算,手机的电量将消耗得很快。但如果把所有的运算都集中在App后台,也会增加App后台的负担,严重的话会造成服务器宕机。这两者之间的平衡,需要研发人员在项目中仔细斟酌。

三、选择服务器对于很多刚入行的朋友来说,不清楚应该选择什么样的服务器提供商,是选择传统的IDC,还是选择现在热门的云服务器呢?在本书中,笔者通过对比传统的IDC和云服务,简单阐述一下选择服务器的问题。

1.是选择传统的IDC还是云服务器App产品经常会出现在毫无征兆的App访问量爆发的情况。如果出现了App访问量爆发的情况,解决访问的压力最快、最有效的方法是升级服务器的硬件,如升级CPU,升级内存容量或者升级带宽。传统的IDC要升级CPU或升级内存容量的流程如下。和客户经理商谈所需硬件的价格或在线选择具体的配置。在线支付或银行转账。确认钱到账后,等待IDC安排工作人员升级硬件。在这个流程中由于需要人工的介入,很难做到几分钟内完成升级硬件。使用云服务器升级硬件就很简单,流程如下。在用户后台选择升级后的硬件配置。通过网络支付。重启服务器,升级就完成了。如果只是升级带宽,甚至不用重启服务器。整个过程算起来不用5分钟,简单、快捷、方便。而且现在的云服务提供商除了提供服务器外,还提供下面这些服务。负载均衡。云数据库。云内存存储。App上线初期,一般开发者都在一台服务器上搭建所有的服务,但随着App的发展,这些服务需要部署在不同的服务器上。随着业务规模的增大,需要面对高可用、高并发、监控报警等问题。如果这些运维问题都要研发人员自行解决的话,那在成本投入上非常大,因为一般的创业公司中研发人员就一两个人,既要保证平时的开发任务,又要做复杂的运维管理,实现起来很困难。而且研发人员也不是全能的,对于没用过的专业运维知识也需要一定的学习成本,就算研发人员学会了,真正部署实施效果怎么样还很难保证。在这些情况下就能体会到云服务的优点,由云服务器的提供商来负责运维,高可用、高并发、监控报警等方面都能靠云服务器提供商保障,企业使用云服务就能大大减轻运维方面的压力和研发的成本。
2.深圳APP开发公司建议
笔者在网络上经常被问:需要选择什么样的服务器配置?这个问题我们没法回答,因为需要综合考虑用户量、业务逻辑等因素。不过笔者建议项目初期的硬件配置可以稍为逊色点,随时监控主机资源的状态,当预估当前的配置不能应付业务上的需求时就考虑升级硬件,毕竟现在升级或者购买云服务器都非常方便。深圳APP开发博纳网络编辑整理。全文未完,敬请继续关注。
 

当前文章链接:/construction/appkaifa/1267.html
如果您觉得案例还不错请帮忙分享:

[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。