混合式框架-AgileLite
Agile Lite是一个HTML5移动前端框架。支持jQuery和Zepto双引擎。而且提供与UI无关的独立框架,内置了Flat
UI样式和Ratchet样式。同一时候也支持单页模式和多页模式开发。
对于眼下比較流行的微信内置浏览器APP,Agile Lite能够轻松的使用不同模式来开发。
以下就来介绍基于Agile Lite的微信webapp的特点。了解使用Agile Lite能够适应哪些场景。
特点一:丰富的UI组件
Agile Lite设计了众多的UI组件。包含一些主要的组件,如:button、颜色、字体图、表单、列表、详情等页面。也对一些特殊的控件和性能效率的优化提供的组件。比方:slider滑动组件、sliderPage滑动页、下拉上拉刷新组件、懒人载入组件、滑动删除组件、动态编辑列表组件以及日历组件等。组件的设计符合移动端的操作习惯和风格,并全然遵循HTML5的规范。
特点二:无关UI的独立扩展
Agile Lite的基础UI只包括一个layout的CSS样式表,再此框架内的全部具有独立UI特性的样式都能够增加到Agile Lite中,比方,我们在源代码中内置的Recthet样式全然能够在Agile Lite中使用。
所以。对于开发人员来说扩展自己的UI是很方便的。不受限于现有样式
特点三:jQuery和Zepto双引擎支持
不管是jQuery还是Zepto都有各自的优劣势,给非常多开发人员带来了选择的困扰。
Agile Lite对两者都做了非常好的适配。不管使用哪种引擎都能够顺利完毕Agile Lite的逻辑操作。不同页面能够使用不同的引擎。
所以,对于开发人员来说,假设使用了特定引擎的第三方插件都能够非常好的融合进来。
特点四:完整的控制器逻辑操作
Agile Lite的全部组件切换都是通过控制器来完毕的。控制器的写法支持标签属性调用也支持JS方法触发,控制器也能够设置參数给组件调用。比方:section页面、Modal页面、tab页、滑动页等的切换,都能够非常方便的使用控制器实现。
并且全部控制器都是能够扩展的,对于新的控制需求能够通过对控制器的扩展做到。
特点五:全然事件驱动的架构
从Agile Lite启动,到各个组件的创建、显示、隐藏、销毁等生命周期都有对应的事件触发,全部业务逻辑均在事件内完毕,而且这些事件假设与宿主容器的原生事件绑定,就能够完毕跟原生程序全然一样的生命周期交互逻辑,更符合app的效果。
比方微信的ready事件和close关闭页面函数都能够绑定到Agile Lite中。
特点六:单页模式和多页模式共存
Agile Lite的开发模式既支持单页模式也支持多页模式。原则上单页模式适合单窗体宿主容器(如:PhoneGap等),多页模式适合多窗体宿主容器(如ExMobi等)。可是。在微信中却非常特殊,对于办公类APP一般使用单页模式,能够使页面DOM结构得到最大限度的重用,以及最方便的页面交互(无须跨页操作),而对于营销类的APP。多数页面须要被转发传播,具有相对的独立性,能够使用多页模式。
特点七:微信JS SDK无缝集成
微信本身提供了丰富的JS SDK。能够帮助开发人员在应用中使用一些本地能力以及针对微信内操作的一些事件监听以实现更复杂的逻辑。
Agile Lite对微信的JS SDK实现了config的鉴权,简单配置就可以实现JS SDK的无缝调用,并支持微信支付的高速实现,帮助开发人员更快更灵活的使用微信的JS SDK。
最后还是要韶一韶Agile Lite的短板。
Agile Lite在架构之初是为具有宿主容器的框架而设计的(比方PhoneGap、ExMobi等),所以。业务逻辑更偏向于原生APP。所以对于非常多基于浏览器这类单窗体的营销页面和游戏是不适合的,由于单页模式中仅含有一个页面。也就是一个URL地址。对于页面分享和转发有一定的局限。而採用多页模式尽管能够解决此问题,可是单页模式的非常多特点就丧失了。另外,Agile
Lite的多页模式也更适合在ExMobi这类能够支持多窗体打开的宿主容器中,多页与多窗体匹配才干发挥更到的效应。
好了。说了这么多。该是到体验的时候了,以下奉上几个Agile Lite的演示样例,以供參考。
Agile Lite 演示样例 EDN Lite版本号(discuz论坛)
|
|
商城微店类演示样例 Agile Lite微信JS SDK
最新文章
- Notes:SVG(2)---各种常见图形
- sql 比模糊查询速度快的查询方法
- export a java project to runable jar
- (原创)Louis Aston Knight 的家(摄影,欣赏)
- .NET ORM 的 “SOD蜜”--零基础入门篇
- C中调用Lua函数
- javascript体系 DOM原理
- 连接数据库的URL等于多少?
- matlab数据的导入和导出,以matlab工作区workspace为source和destination
- 计数排序详解以及java实现
- 把CSV文件导入到SQL Server表中
- 使用WebUploader使用,及使用后测试横拍或竖拍图片图片方向不对等解决方案
- 百度词典搜索_dress code
- [QT]简单介绍一下 *.pro、*.pri、*.prf、*.prl等四种文件
- 谈Ajax的Get和Post的区别
- Java并发系列[6]----Semaphore源码分析
- Android 开发之v4库冲突问题解决方案说明
- git checkout tags with the same name as a branch
- 理解 Linux 配置文件【转】
- ettercap+arpspoof进行HTTP信息嗅探
热门文章
- ipv6工具类
- java_线程的通信
- Debug:This kind of launch is configured to openthe debug perspective when it解决办法
- 打印出A到Z的所有字符,使用char和int转换
- pytorch之Tensor与Variable的区别
- vue-router scrollBehavior的用法
- 题解 洛谷P4035/BZOJ1013【[JSOI2008]球形空间产生器】
- Python 函数对象-函数嵌套-名称空间与作用域-闭包函数
- google查找笔记
- Python随笔day01