Turtle Online:致力于打造超接地气的PC前端架构,组件+API,快速搭建前端开发
架构创作初衷
每当新开一个项目时,都会绞尽脑汁去考虑采用哪种框架:requirejs/seajs、jquery/zepto、backbone、easeUI/Bootstrap/AngularJS……,特别是团队合作的时候,不同的人熟悉不同的框架,最终都会经过一番头疼才能定下来,进入开发之后还会不断的质疑当初的选择。
鉴于此,我想开发一个属于自己的框架,一方面把前端知识贯穿一下,另一方面用起来也顺手,免得又犯选择恐惧症。
开发之初,我给框架的定位是:
1. 好用
- 组件直接采用$(容器).组件名{…},或者Turtle.组件名{…}方式调用,只需必要参数
- 常用组件要有快捷方式,比如: Turtle.alert()
- 常用方法要有,如时间处理、json处理、ajax封装、本地存储等,且统一采用Turtle. 方式调用
- 所有js和css分别都压缩成一个,引用一次即可使用
- 理论上,一个页面对应一个js,采用backbone.view的方式定义,简单明了
2. 功能强大
常用功能要有,整合精简市面上轻量级的组件或框架,为我所用。没有的,自己写。如果现有框架太大或不宜使用,自己写。
3. 扩充方便
允许用户在该框架之下,很方便的写自己的组件,如:使用cPageView扩展页面js和组件
4. 完善的说明文档和Demo
最好能部署在网上,使用方法和源码都可以看得到,
目前的版本,上面功能都可以实现,下一步需要优化的点:
1. 屏幕自适应
2. 完善常用功能
3. 开发框架之外的插件,让用户按需选择
4. 终极目标:模块化框架的所有功能,让用户自行选择所需的功能,然后生成一个用户定制化的框架。
Turtle Online 应运而生
Turtle online 是Turtle框架的PC前端架构(还有他的兄弟Turtle mobile,移动前端框架,因涉及机密,暂未正式发布),包括组件和API两大部分,可以快速的搭建PC前端开发环境。
组件包括日历、分页、图片轮播/图片浏览、各类提示弹框/自定义弹层、气泡提示、图标icon、表单等。
API包括常用JS方法封装(cookie操作、ajax封装、日期处理、浏览器判断、当前位置获取页面跳转、其他常用方法等)、基于Backbone.View/Require.text.js的框架、前端模板。
重要说明:Turtle online组件部分使用了第三方js库layerUI、poshytip。
演示
源码下载
成功案例
一、使用方法
1. 把build目录放到你项目中;
2. 在页面中引入Turtle.min.css和../build/Turtle.min.js;
3. 然后就可以在你的js中使用了,实例如下:
define(['cPageView','text!views/temple/temptest.html'],function(PageView,temptest) {
var View = PageView.extend({
events:{
'click #cpageviewTest1':'clicktest1',
'click #templateA':'clicktest2'
},
initialize: function () {
console.log('initialize');
this.$el.find('#cpageviewTest3').html('默认值被改变');
this.on('initpage',function(){
console.log('initpage');
});
this.trigger('initpage');
},
clicktest1:function(e){
this.$el.find('#cpageviewTest2').html('赋值成功!'+new Date())
},
clicktest2:function(){
$('#templateTest').html(_.template(temptest)({name:'Alec yin'}));
}
})
return new View();
});
4. API的使用,全部都是在Turtle/turtle对象中,直接【Turtle./turtle.】就可以了。
以上四步你就可以使用Turtle online中的方法了,如果你没有使用requireJs的话,API和组件也是可以直接使用的。
二、运行Turtle online
1. 下载Turtle online项目,直接点击index.html即可查看。
(此时有js报错,因为使用了require.js,需要提供项目路径,不影响查看非cPageView实例以外的实例。)
如果你要看cPageView的实例代码,请继续操作:
2. 把turtle online代码部署到服务器上;
3. 修改index.html中的代码【baseUrl: "http://localhost/TurtleOnline",】改成你的部署路径;
4. 再次运行index.html即可。
三、二次开发说明
如果现有的Turtle online无法满足你的需求,你可以在现有代码的基础上定制型开发(注意:请勿提交至代码库,仅自己使用,谢谢!)。
开发步骤:
1. 修改代码;
2. 如果新增或者删除了文件,需要同步修改gulp配置文件gulpfile.js;
3. 安装node_modules依赖包;
4. 执行gulp build命令,合并压缩项目至build目录。
5. 把build目录下文件拷贝你项目中就可以直接使用了。
四、项目架构说明

五、Turtle Online框架运行图














Turtle Online:致力于打造超接地气的PC前端架构,组件+API,快速搭建前端开发的更多相关文章
- 微信事业群WXG成立 致力于打造微信大平台
今天,微信之父张小龙带领微信团队成立微信事业群(WeiXin Group,简称WXG),致力于打造微信大平台,由他们负责微信基础平台.微信开放平台.微信支付拓展.O2O等微信延伸业务的发展,并包括邮箱 ...
- Oracle中的带参数的视图--我们致力于打造人力资源软件
创建包和包体 create or replace package pkg_pv is procedure set_pv(pv varchar2); function get_pv return var ...
- 2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈
本文转载于:奥怪的小栈 这篇文章告诉你如何在2019快速上手搭建一个像我一样的博客:基于HEXO+Github搭建.并完成SEO优化,打造一个炫酷博客. 本站基于HEXO+Github搭建.所以你需要 ...
- ubuntu下搭建android开发环境之超顺畅模拟器
如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...
- 相约 DTCC 2021 | Tapdata 受邀分享:如何打造面向 TP 业务的数据平台架构
2021第十二届中国数据库技术大会(DTCC)将于2021年10月18-20日,在北京国际会议中心举行,Tapdata 创始人唐建法受邀分享:如何打造面向 TP 业务的数据平台架构. 演讲时间 ...
- 以人为本打造“超职季”IP,58同城精准匹配企业招聘与打工人
撰文 |懂懂 编辑 | 秦言 来源:懂懂笔记 在大手笔培育IP的背后,58同城是如何考量的? 在餐厅当服务员的李阿姨今年54岁了.她的女儿马上研究生毕业,非常喜欢陈伟霆,手机屏保都是他.李阿姨没想到, ...
- 【HTML5】Web Audio API打造超炫的音乐可视化效果
HTML5真是太多炫酷的东西了,其中Web Audio API算一个,琢磨着弄了个音乐可视化的demo,先上效果图: 项目演示:别说话,点我! 源码已经挂到github上了,有兴趣的同学也可以去st ...
- OneProxy使用手册--致力于打造透明的数据层
介绍 平民软件官网上线(http://www.onexsoft.com) OneProxy是由原支付宝首席架构师楼方鑫开发,目前由楼方鑫创立的杭州平民软件公司(@平民架构)提供技术支持.目前 ...
- photoshop打造超酷炫火焰人像效果
效果图看上去非常的酷.制作方法跟火焰字过程差不多.唯一不同的是前期的处理,需要用滤镜把人物轮廓路径找出来,去色后再用制作火焰的过程制作.最后把最好的火焰叠加到人物上面,适当用蒙版控制区域即可.原图 最 ...
随机推荐
- paip.获取地理位置根据Ip
paip.获取地理位置根据Ip html转换txt 正则表达式截取mid 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...
- 学习IT资源分享,欢迎各位知道的学习IT资源前来分享
1:排序不是按照名次,随机排序 慕课学习网https://www.imooc.com/ 腾讯课堂 https://ke.qq.com/ 柠檬学院 http://bjlemon.edusoho.cn/ ...
- MySQL分区表
当数据库数据量涨到一定数量时,性能就成为我们不能不关注的问题,如何优化呢? 常用的方式不外乎那么几种: 1.分表,即把一个很大的表达数据分到几个表中,这样每个表数据都不多. 优点:提高并发量,减小锁的 ...
- IBM的IT战略规划方法论
IBM的IT战略规划方法论 http://wenku.baidu.com/view/42489e21aaea998fcc220e92.html?re=view http://wenku.baidu.c ...
- python之对指定目录文件夹的批量重命名
python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...
- C++与C#的时间转换
1.C++中的时间:(1) time_t其实是一个64位的long int类型(2) time函数:函数简介: 函数名: time 头文件: time.h 函数原型:time_t ...
- kindle5 去广告
在Amazon英文官网上登录已注册的美国亚马逊账号,首页找 Help,然后点 Contact Us,然后选了下问题类别,选 Chat. 然后就是和克服沟通了,说明你的情况, hello, I got ...
- Linux 中的grep命令单引号,不加任何参数以及双引号的作用
单引号: 可以说是所见即所得:即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么.单引号''是全引用,被单引号括起的内容不管是常量还是变量者不会发生替换. 双引号: 把双引号内的 ...
- 比较好的文件复制工具fastcopy和校验工具
fastcopy http://ipmsg.org/tools/fastcopy.html.en extractfile --可以选用ADLER32计算模式,更快速.
- ADB工具包15秒快速安装器,已集合ADB、FASTBOOT工具箱和最新的驱动程序
http://www.cnroms.com/adb-and-fastboot-toolkit-with-google-usb-drivers.html 通过电脑管理安卓手机需要的三个最常用的工具包集合 ...
