榕树下网站本身的技术人员并不多,所以app开发的任务就到了母公司盛大文学这边。
盛大文学无线业务中心负责这次具体开发任务。
一如既往的,开发的情况是:时间紧,任务重,人手少

技术选型


为了同时上线Android和IOS平台,所以选择了hybrid这种Native与HTML5混合的方式。
Native的优点是效率相对较高,但缺点是开发速度相对较慢,不利于自更新;
HTML5的优点是开发速度快,可以实现自更新,跨平台,缺点也是显而易见,效率不高,加载速度慢;
所以:
  • 用Native解决效率问题,主要用于切换界面的框架,图片浏览器组件等
  • 用HTML5解决开发上的时间问题,主要用来实现页面布局、渲染
后台服务端API提供统一的JSON数据格式,可以供Native与HTML5无缝使用,服务端可以不再关心客户端到底是HTML还是Native,HTML也可以随时改成Native

客户端与服务端通信数据交换统一使用JSON,这样一来如有需要Native可以换成HTML5,或者HTML5可以换成Native

Hybrid的HTML5部分


我负责的就是HTML5这一部分,其实就是WEB页,外行现在一见到炫酷的微信页面或其它效果的页面就觉得这是HTML5..
好吧,就叫HTML5吧。

Javascript

1、zepto.js
用于基本DOM操作与ajax选择使用定制的zepto.js,定制zepto.js的原因是我已经习惯了Deferred这种写法
所以需要用到Deferred模块。具体定制方法请参考https://github.com/madrobby/zepto
2、artTemplate.js
用于模板的渲染,语法简洁,效率高。https://github.com/aui/artTemplate
3、cloudary.js
整个项目的web端框架,为什么叫cloudary,其实名字几经更改,最后还是用了盛大文学的网站域名 www.cloudary.com.cn
至于为什么是cloudary这个词,好吧,谁知道当时是怎么定的这个组合的英文词的呢。。
它的作用:
  • 封装、桥接JS与Native的通信,对业务层提供统一的操作接口
  • 再次封装zepto.js提供的的ajax方法,主要作用是可缓存接口数据,进行统一的错误处理
  • 框架层对页面初始化完成后的业务处理
  • 提供全局的通用操作方法或接口,如:系统信息,存储操作等
4、每个页面自身的业务逻辑直接写在了页面上,因为代码并不多

CSS

用sass编写CSS
几个月之前还为之写了一个sass库,叫sasshat,项目地址:https://github.com/willian12345/sasshat
应用sasshat后APP某些WEB界面实现的效果如:

下面这个是用web实现的动画启动页
用了SASS后的好处:
  • 编写CSS更加快速
  • 可适应频繁的需求改动(—_—!)
  • 更快速的纯CSS实现酷炫动画
  • 更性感

该说说缺点了


1、加载速度慢
首次进入页面更慢,页面复杂度越高,需要的资源越多,加载资源慢,渲染DOM慢。
在移动端特别如此,随着手机越低端,性能递减越厉害
2、低端手机CSS3支持程度不一
有时候不得不放弃一些好用的CSS属性,而改变另外的方案实现。因为某些Android2.X的手机真的很落后。
不得不为这些手机去掉一些效果或者专门判断后用普通图片代替效果
3、跨平台很美
web确实是跨平台的,但webview内的浏览器CSS兼容比手机上浏览器内更不好。所以要实现全兼容只是目标。
要花的时间与精力不比用Native少,所以为什么不选择用更合适的Native呢?

最后要说的


(APP现还未正式发布。还在内测)
无图无真像。
我在现在的公司还是喜欢用自己写的东西。
虽然市面上有很多mobile端的web框架可用,但选择哪一款,要不要用,还是要根据自身项目所处的环境:人力配制,技术水平,公司B格。
对于WEB开发人员来讲,开发Hybrid形式的APP,还要取决于Native端开发者的水平或者对webview知识的熟悉程度。
对于一般技术人员来讲,WEB不了Native,而Native也不了解web
======================================
转载处请注明:博客园(池中物,王二狗)willian12345@126.com

转载于:https://www.cnblogs.com/willian/p/4175504.html

“榕树下·那年”移动app ( hybrid ) 开发总结相关推荐

  1. Hybrid开发基础

    1.Hybrid开发的优劣势 移动开发目前有四种方式:原生(Native APP).混合开发(Hybrid APP).网页应用(Web APP).React Native APP,Hybrid开发在移 ...

  2. 小说APP软件开发一键生成

    小说APP开发,小说软件开发,小说APP开发一键生成.在看小说这件事上,很多人基本都是为了更好地消遣时间,要想从阅读小说的历程中获得到开心,尤其在阅读一些非常具备故事情节的小说的情况下.假如说一部小说 ...

  3. 四大Hybrid App移动开发平台对比

    [值得一用的Apps]四大Hybrid App移动开发平台对比 摘要:作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java.Object-C.C#等语言,还是选择 ...

  4. Hybrid APP混合开发的一些经验和总结

    写在前面: 转载自 --->博客园  KINGPLUS 1.混合开发概述 Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现"一次开发,多处运行"的 ...

  5. Hybrid APP 混合开发模式的选择之路(三)

    原文出处:http://www.cnblogs.com/dailc/p/5930231.html 现在概念上的APP诞生是在Google推出Android,Apple推出iOS后,从这时候开始,就有了 ...

  6. Hybrid APP混合开发的了解和其他两类app的对比

    以前我都是用java做网站的,最近公司需要开发一个app,但是公司又没有Android工程师,所以这个任务就被我们伟大的技术总监分配给我做了,下面我就来解释下目前的app市场行情,由于我们的app只是 ...

  7. zx-editor 移动端(HTML5)富文本编辑器,可与原生App混合(hybrid)开发

    zxEditor 移动端HTML文档(富文本)编辑器,支持图文混排.引用.大标题.无序列表,字体颜色.加粗.斜体. 可用于独立web项目开发,也可以用于与原生App混合(hybrid)开发. 源码地址 ...

  8. Hybrid APP 混合开发模式简介

    原文出处:http://www.cnblogs.com/yeahui/p/5026587.html 1.1.     APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝. ...

  9. 【总结】1296- 总结 12 个常见移动端 H5 与 Hybrid 开发问题

    拓展阅读: [Hybrid]288- Hybrid App 应用开发中 9 个必备知识点复习 作为一个开发了多个 H5 项目的前端工程师,在开发过程中难免会遇到一些兼容性等爬过坑的问题.现在我将这些问 ...

最新文章

  1. python 连接db2_大迷糊的博客
  2. python培训班哪些比较好-python培训机构哪家比较好?
  3. 招聘 | 平安人寿人工智能研发团队北京研发中心
  4. [html] 使用canvas制作一个印章
  5. Android 人脸识别进行实名验证demo
  6. Java基础——Java IO详解
  7. 直通BAT JVM必考题:Minor GC、Major GC、Full GC的区别
  8. TRUNCATE和DELETE有以下几点区别
  9. 【Vue案例一】实现跑马灯效果
  10. NYOJ--364--田忌赛马
  11. android 快速unity,关于android:Unity平台-快速集成华为性能管理服务
  12. WebRTC-nack机制详解
  13. win11电脑加密文件夹的两种方法
  14. 扫地机器人的“新故事”,从“第三次革命”开始
  15. pic32mx是什么cpu_DM320105 | Microchip 入门套件, XLP, PIC处理器系列 (MIPS32内核) MCU, PIC32 | RS Components...
  16. vue实现关系图(组织机构图谱)
  17. BSC Web3生态深度研究
  18. Macbook上如何调整Windows分区大小,NTFS-FAT-FAT32
  19. 郁闷的时候看下,心情也许会好一些(转自CSDN)
  20. 无法显示 隐藏文件 无法启动 杀毒软件 svohost exe CheckedValue Dword

热门文章

  1. Apache的make编译错误
  2. 富文本编辑器ckeditor的使用
  3. 64.JPA命名策略【从零开始学Spring Boot】
  4. VC 系统托盘编程,含有气泡提示
  5. Word 2003高级技巧之可爱的锚标记
  6. 寒假挑战PythonTip(一人一python)总结——算法是程序的灵魂,程序员的心法
  7. 引用借以记录借鉴 实现记住密码和自动登录功能
  8. C语言中关于字符串常量的进一步分析 转
  9. Oracle中删除数据的一个小技巧
  10. [导入]Update实现多表更新