近几个月的技术总结

      很久没有上博客园了,也很久没有写博客了。为何呢?最主要本身近段时间比较懒,在公司的项目里面彻底找不到之前的那种成就感了。android

      好了,让咱们回到正题上面来吧!说到本身近几个月的技术收获,我想最大的即是本身由以前的纯粹native android客户端的开发,转型到服务端了。说也奇怪,本身转型以前一直对后端的东西是比较的好奇的,一直认为native的客户端开发,其实所用的技术点都是比较局限的,没有什么高深的东西。你想一想一个app真正成型起来以后,他应该包括哪些东西呢?首先也许最直观的认识就是UI界面了,确认UI起到一个承载用户直观体验的重要性。假如如今有一款app摆在你的面前,当前满怀着期待的心情打开app的时候,却...字体大的可怕,而后整个界面布局乱七八糟,甚至有的时候,某些按钮却点不了。当你刚刚静下心来,想一想忍一忍,再点点试试吧。却发现连个最基本的注册、登陆功能都麻烦的要死,而后各类弹窗提示。若是是这种状况下,我想好多用户已经不可以在忍了,立刻卸载掉吧!因此一款好的app最起码的条件就是要有一个牛逼的设计。数据库

      说到app设计,我仍是想凭借着本身的一些开发经验、还有一些书籍上面的要点,让咱们摆一下例子,对比对比。首先,app设计的首要原则:1.就是极简原则。也许你知道吧,当初微信为何会起来呢?就是凭借着提供着及时聊天功能,同时绑定着qq大面积的稳定用户,拿下来最开始的一些用户。慢慢地微信才在核心功能下来,开发了更多的用户粘性功能,渐渐地有了朋友圈、有了微信公众号。而后就有如今的微信,一个完整的微信生态圈。2.细节照顾,苹果为何可以每出一款产品就可以大卖,甚至如今已经出现了稳定的脑残粉,每一款产品都会去定时更新、推动。让咱们来看一下另外一款你们都比较熟悉的app-陌陌,说实话,最初陌陌刚出来的时候,用户体验仍是很是的糟糕的。整个界面字体太大了,而后呢?用户好友添加过程、或者聊天、朋友动态查看都是比较麻烦的。如今的陌陌呢?产品设计已经到了必定的级别了。今天我又从新下了一款app,从新体验了一把,发现极简、细节都已经作的很好了。3.作到上面两个原则以后,后面才有可能会留在你这个app里面。而后你要作什么呢?也许你会想到我须要加什么新的功能,才可以将用户黏在个人app里面呢?这个时候,你就须要作好充分的用户调研工做了,用户须要的才是最重要的。提及来彷佛这点在app开发之处就应该作好的,而后你看我提及来彷佛很简单的样子是吗?其实,这个才是最核心的东西,用户的需求老是不断的变化着,并且有的时候就连用户本身他也不知道本身想要什么。这个才是如今企业最应该关注,可是好多企业都不太关注的事情。json

      当咱们的设计作好以后,也许你就会想这个时候,咱们应该可以开始功能的开发工做了吧!我想这个应该放到第三步,第二步咱们应该好好的想一想到底咱们的app架构的时候,应该包括哪些功能模块呢?让咱们来理一理,到底app里面一个简单的登陆/注册功能,应该怎么作呢?首先登陆功能,当咱们点击登陆按钮的时候,后台到底作了什么呢?后台代码确定会先拿到UI界面里,你输入的用户、密码吧,而后作相关的校验工做。当你输入的帐号信息知足条件以后,后台代码会将你的帐号、密码调用相关的api封装成请求报文,发送到服务器。服务器收到你的报文以后,它又会怎么作呢?解析报文拿出帐号信息,而后查找数据库进行帐号对比,无论成功、失败都会给客户端返回相应的响应报文。你想一想、报文到达客户端以后,客户端应该怎么作呢?须要有一个同时兼容不一样数据格式的解析模块吧!好比支持同时解析xml/json格式,拿出里面的msg字段,给出响应的提示信息(这里面可能就牵涉到一个体验细节问题,尽可能不要用弹出框的方式提醒用户,可能在登陆页面用不一样的字体输入信息,由于弹出框的方式会打断用户的直观体验)。经过这些步骤之后一个完整的登陆流程才完成了吧。因此经过这样的分析,咱们发现一个app后台代码里面,最起码、必不可少的功能模块就是:Http/Https请求发送模块、数据解析模块、必要的时候,咱们可能还须要加上安全加密、条件校验模块、动画模块等。后端

      因此经过上面的分析过程,咱们能够发现客户端实际上所作的事情仍是比较少,甚至如今流行什么?瘦客户端的概念,移动端的东西越少越好,若是要达到这种要求,咱们应该怎么作呢?H5技术就能够很好的知足这种需求,这个时候客户端只要提供一个外壳就能够了,全部的H5页面,后台代码逻辑都放在了服务端。这个时候,理论上咱们只须要上线一次客户端app就能够了,并且能够实现高可配置性。可是这对服务端的要求就比较高了。api

      说到服务端的架构就比较麻烦了,由于服务端须要考虑的事情太多了。一个请求到了以后,我首先应该丢给哪一个模块进行处理,该模块处理以后,拿到请求里面的数据。这个时候我又应该怎么进行处理呢?数据是否是须要保存到数据库,仍是说我只须要简单的用个临时变量保存就能够了。或者其余页面又须要使用这个请求里面的数据,我是否是就应该保存到session里面呢?这仍是说只有一笔请求的时候,若是这个时候同时有多笔请求的并发状况下呢?我同时去保存数据库是否是有可能会发生错误呢?数据保存过程当中是否是有可能由于多笔操做,致使流程比较慢呢?用户体验很是差的状况,这种状况下,我是否是就应该考虑使用一个稳定/成熟的框架呢?针对数据库读写慢的这种状况,我是否是又应该考虑使用一些分布式存储的技术框架呢?内存数据也是不错的选择,最终后端系统好不容易开发完成以后,这个时候我又应该考虑部署上线的相关事情了。安全

       好了,上面说了这么多。让咱们在后面的章节拆开细讲吧!服务器

相关文章
相关标签/搜索