7月23日有幸参加了在大连举行QClub活动,听到了两个精彩的演讲,并且在最后的Open Space阶段,作为主持人参与讨论了一个话题。此行很有收获,希望大连以后能有更多的技术交流活动,这对于推动大连的IT环境发展大有益处,非常感谢侯伯薇的辛苦组织。
因为我对前台技术比较熟悉,因此参与的主题是关于前台UI技术的讨论。我介绍了一下自己对使用过的几个JS框架(jquery、ExtJS以及dojo)的理解,并简单比较了其优势和不足,这个话题得到了不少朋友的响应,因为对于常见的JS框架,很多的朋友都有着自己的使用心得。大家普遍使用比较多的JS框架是Jquery和ExtJS,我对dojo比较熟悉,因此也做了简单的介绍。
- jQuery:轻量级的框架;支持插件式开发;网上有大量的第三方插件可供使用和学习;丰富的和完善的文档及图书可供学习使用;在实现很炫的互联网效果时优势明显;提供了非常便利的dom操作工具。 稍微不足之处在于:官方的UI组件比较少,而网上的插件可能会存在样式各异、编码风格不一致的问题,如果进行整合,可能会有一些工作量。
- ExtJS:提供了丰富完整、样式统一的UI组件,基于此可以快速构建复杂的业务应用,基本上所有需要的功能都能通过其实现,完善的文档。不足之处在于:比较重量级,在复杂的业务界面中可能会出现大量的JS代码而对应的页面部分(JSP或HTML等)往往只会有一个简单的div,会造成维护的困难,另外新版本的ExtJS在商业使用上会有版权的问题。在分组讨论时,一位朋友分享了使用ExtJS的一些心得,对提升其可维护性有所帮助,具体为:培养良好统一的编码习惯;选择合适的组件;明确组件间的继承关系。
- dojo:本身为功能非常强大的类库,但并不为大家所熟悉。其优势在于完善的类和包管理机制,方便的实现类定义和多继承;对常见的dom操作和事件机制都进行了很好的封装;实现了其UI组件——dijit,并具有定义良好的生命周期;页面上使用标签方式定义,对于熟悉taglib的开发人员没有陌生感。不足之处在于:文档和资料(尤其是中文的)很少,学习曲线稍高(在此推荐dojo中文博客:http://blog.csdn.net/dojotoolkit/)。
基于对框架的讨论,总结了JS框架的存在价值:
- 有些框架实现了类似于静态语言的类机制,提高了代码的复用度和可读性,对普通开发人员隐藏了JS复杂的类和对象机制;
- 在前台开发中,大多封装了很多的工具类,如dom、事件以及浏览器兼容性的问题,极大提升开发人员的效率;
- 对于Ajax请求进行了很好的封装。
- 框架提供的UI组件对优化界面设计大有益处。
因为各个框架均各有其特点,应该按照使用的场景进行权衡,正如侯伯薇在演讲中提到的,没有一成不变的架构,要根据实际的场景不断进行思考和分析。在进行互联网领域开发时,jQuery应该是不错的选择;而企业级开发可以考虑使用ExtJS,当然前提要解决版权的问题。在讨论的过程中,大家普遍对JS的类机制感到迷惑,对于提升前台性能很关注,我以后会写点东西分享自己的些许经验。
除了JS框架外,对于其他的前台技术如Flex、GWT也进行了讨论。一位朋友还很热情地介绍了其使用Flex的新模式,即不使用第三方语言,用Flex直接实现对后台数据库的访问,他们的实现完全是自己写的,这对于开发小型系统来说会很有效,能够快速的开发出满足要求的产品,在复杂应用中,也可以借助这样的方式快速开发出原型。
除此以外我们还讨论了一些关于Node.JS的话题,昨天上午其刚刚发布0.5.1版本都支持window系统啦!Node.JS是一个JavaScript的后台框架,其无阻塞、长连接的特性注定其会有更大的发展,值得开发人员对其进行关注,本期InfoQ的《架构师》杂志有这样一个专题。但现场的朋友们对其了解还比较少,希望下次能有机会对这个话题进行更深入的交流,我个人的最新学习心得也会在这个blog上与大家分享。
流水账似的记了这么多,说一点自己的感想吧,在交流的中发现了自己在沟通能力方面还有许多的不足;也觉得自己在技术上有许多的不扎实之处,交流的过程也是对自己进行反思的过程,希望更多的朋友们加入进来。比较遗憾的是因为各自主持一个小组,未能与孙伟(关于职业发展)和张爽(关于互联网架构)进行更多的交流,期待下次的机会吧。
分享到:
相关推荐
郭应寿在QClub活动中分享了天际网采用OpenSocial的经验。天际网最初使用标准的J2EE架构,但随着用户数量的增长,原有的架构无法满足需求,特别是在处理用户关系表的扩展方面。因此,天际网转向了支持OpenSocial的新...
python入门-30.寻找列表中只出现一次的数字——寻找单身狗.py
linux优化笔记,配套视频:https://www.bilibili.com/list/474327672?sid=4496133&spm_id_from=333.999.0.0&desc=1
知识付费系统-直播+讲师入驻+课程售卖+商城系统-v2.1.9版本搭建以及资源分享下载,CRMEB知识付费分销与直播营销系统是由西安众邦科技自主开发的一款在线教育平台,该系统不仅拥有独立的知识产权,还采用了先进的ThinkPhp5.0框架和Vue前端技术栈,集成了在线直播教学及课程分销等多种功能,旨在为用户提供全方位的学习体验,默认解压密码youyacaocom
美妆神域-JAVA-基于springBoot美妆神域设计与实现
原生js制作Google粘土logo动画涂鸦代码.zip
golin 扫描工具使用, 检查系统漏洞、web程序漏洞
原生态纯js图片网格鼠标悬停放大显示特效代码下载.zip
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
去水印web端独立版web
原生js制作左侧浮动可折叠在线客服代码.zip
Chrome 谷歌浏览器下载
全新完整版H5商城系统源码 自己花钱买的,亲测可用,需要自行下载 H5商城系统设置是实现商城基本功能的核心部分,涵盖了从网站配置、短信和支付配置,到商品、工单、订单、分站和提现管理等多个模块的设置。以下是详细的设置指南,帮助您快速上手并高效管理商城系统。 测试环境:Nginx+PHP7.0+MySQL5.6 1. 网站配置 设置商城名称、LOGO、标题、联系方式和SEO关键词等,确保商城专业和易于搜索。 2. 短信配置 配置短信接口和模板,用于发送订单通知、验证码等,提升用户体验。 3. 支付接口配置 配置微信、支付宝等支付接口,填写API密钥和回调地址,确保支付流畅。 4. 商品分类管理 对商品进行分类和排序,设置分类名称和图标,便于用户查找商品。 5. 商品管理 添加和管理商品信息、规格、图片等,确保商品信息准确丰富。 6. 工单管理 查看和回复用户工单,记录售后问题,提升用户服务质量。 7. 订单管理 查看订单详情,更新订单状态,支持批量导出,方便订单跟踪。 8. 分站管理 创建不同区域分站,设置权限,统一管理各区域市场。 9. 提现管理
apk安装包
原生js选项卡插件自定义图片滑动选项卡切换.zip
宗教信息佛教佛寺寺庙庵堂相关数据集提供了全国各个地区省市县各个佛教寺庙的详细信息。这些数据不仅包括寺庙的名称和负责人姓名,还涵盖了所属省份、地级市、区县、具体地址、建立日期以及支派类别等关键信息。该数据集整理了超过3万条样本,为研究中国佛教寺庙的分布、历史和文化提供了丰富的第一手资料。这些信息有助于了解佛教在中国的传播和发展,以及寺庙在社会和文化中的作用。数据的整理和提供,对于宗教学、社会学、历史学和文化研究等领域的学者来说,是一个宝贵的资源。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
简单的 Python 版本管理pyenvpyenv 可让您轻松在多个 Python 版本之间切换。它简单、不引人注目,并遵循 UNIX 传统,即使用单一用途的工具来做好一件事。该项目由rbenv和 ruby-build分叉而来,并针对 Python 进行了修改。pyenv 的作用是什么......允许您根据每个用户更改全局 Python 版本。为每个项目的 Python 版本提供支持。允许您使用环境变量覆盖 Python 版本。一次搜索多个 Python 版本的命令。这可能有助于使用tox跨 Python 版本进行测试。与 pythonbrew 和 pythonz 相比,pyenv没有……依赖于Python本身。pyenv由纯shell脚本制作。不存在Python的引导问题。需要加载到你的 shell 中。相反,pyenv 的 shim 方法通过向你的 中添加目录来工作PATH。管理虚拟环境。当然,你可以自己创建虚拟环境 ,或者使用pyenv-virtualenv 来自动化该过程。目录安装获取 PyenvLinux/UNIX自动安装程序基本
Notepad-v2.20工具,是替代Notepad++的首选工具
原生js随机图片拖拽排序代码.zip