全平台应用开发技术。使用以Cordova开发框架为代表的移动Web应用为核心+原生插件技术(又称混合应用技术),避免同时开发维护Web,安卓和苹果三套应用。
应用容器与应用内容分离技术。混合应用要将网页内嵌入容器打包发布,而筋斗云应用倡导容器与内容分离技术,可以极大的减少原生版本发布次数,避免上传应用市场及审核带来的不便。
从单网页应用(SPA)到变脸式应用。整个移动Web应用使用同一个网页地址,通过Ajax技术实现局部刷新,避免一般网站采用整页刷新造成的流量浪费、耗时和空白页面问题。变脸式应用是由逻辑页面构成的纯前端Web应用程序。传统做单网页应用时,需要将所有逻辑页放在一个网页中,造成开发、维护非常不便,对于复杂应用,用户初次打开应用时可能因下载量大而非常缓慢。而筋斗云前端框架采用“缺页中断”技术实现页面路由算法,每个逻辑页可独立设计,方便开发;发布时又可进行灵活的整合和优化。
数据模型一站式维护。在部署、升级应用时,需要创建和更新数据库,一般是手工写SQL语句或通过在应用中编码实现。筋斗云设计者倡导在设计文档中规范数据模型设计,通过升级工具基于设计文档内容自动创建和升级数据库,既简化部署工作,同时强调了设计文档的重要性。
数据分页技术以及应用中下拉刷新+上拉加载效果。对任何数据量比较大的表,都不应一次返回所有数据,而应只返回一页,用户可以自行向下浏览更多页。本应用为数据分页设计了专门的通讯接口,前台也专门实现了对分页数据加载、刷新等通用机制。
REST-RPC风格的服务接口。该框架让开发者基于数据模型设计REST-RPC风格的服务接口,并快速生成后端接口。服务接口以JSON数据作为载体,严格分离前后端开发。
自动化增量发布。Web应用主要发布方式有:上传整个文件夹到FTP服务器,覆盖原版本完成发布;或上传压缩包到服务器后再解压;或一些应用服务器支持上传发布包(一种特殊的压缩包,比如Java/Tomcat的WAR包)。前者速度慢,易出错,后者无法进行线上的直接修改或调试;它们共同点都是不论初次上线还是小更新,都是完整应用上传。筋斗云提供Webcc自动化发布工具,与版本控制工具Git进行整合,实现自动化增量发布。如果你只改了两个文件,则会自动只更新这两个文件(以及引用这两个文件的其它文件),从而使Web更新速度极快,不仅可以随时发布,还可以随时回滚到任意之前版本。
Web应用发布优化与浏览器缓存控制技术。在发布时,可以控制合并或压缩JS文件,有效提高应用响应速度。同时,我们希望浏览器缓存前端文件以提高重复使用时的性能,但又需要避免应用更新时,浏览器使用缓存而不去更新新版文件,筋斗云采用上线时对文件加HASH值的方式控制浏览器缓存正确的文件版本。
内存缓存技术集成。为避免大量并发查询数据库带来的性能问题,一般会使用内存缓存工具(如Redis,Memcache)配合数据库,极大提高系统吞吐量。筋斗云后端框架对应用接口支持内存缓存提供了良好支持。
筋斗云开发技术栈
最新推荐文章于 2023-02-02 20:52:16 发布