`
lengyun3566
  • 浏览: 446932 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
D59180b9-02f1-3380-840c-ea34da46143c
《Spring Secur...
浏览量:379420
社区版块
存档分类
最新评论

浅谈常见的前台技术(QClub活动记录)

 
阅读更多

 

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上与大家分享。

流水账似的记了这么多,说一点自己的感想吧,在交流的中发现了自己在沟通能力方面还有许多的不足;也觉得自己在技术上有许多的不扎实之处,交流的过程也是对自己进行反思的过程,希望更多的朋友们加入进来。比较遗憾的是因为各自主持一个小组,未能与孙伟(关于职业发展)和张爽(关于互联网架构)进行更多的交流,期待下次的机会吧。

 

分享到:
评论
2 楼 lengyun3566 2011-07-25  
houbowei 写道
下次活动一定送你一本书,:)

哈哈,期待……
1 楼 houbowei 2011-07-25  
下次活动一定送你一本书,:)

相关推荐

    华为OD机试D卷 - 在字符串中找出连续最长的数字串(含“+-”号) - 免费看解析和代码.html

    私信博主免费获取真题解析以及代码

    node-v6.11.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    23-22.渗透测试-敏感信息收集工具汇总.mp4

    23-22.渗透测试-敏感信息收集工具汇总.mp4

    ZCANPRO安装包ZCANPRO-Setup-V2.2.6(20230327)

    ZCANPRO安装包

    单片机外文翻译at89s52单片机单片机.doc

    单片机外文翻译at89s52单片机单片机.doc

    基于AT89S52单片机的数字温度计设计.doc

    基于AT89S52单片机的数字温度计设计.doc

    华为OD机试D卷 - 最长子字符串的长度(一)- 免费看解析和代码.html

    私信博主免费获取真题解析以及代码

    node-v6.12.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg

    Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg

    基于mvc设计的轻量级Android开发框架。.zip

    Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件开发商及电信营运商共同研发改良。 Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行定制,用户可以更改主题、小部件和图标等,以使其界面更符合个人风格和偏好。 多种设备支持:Android操作系统可以运行在多种不同类型的设备上,包括手机、平板电脑、智能电视、汽车导航系统等。 此外,Android系统还有一些常见的问题,如应用崩溃、电池耗电过快、Wi-Fi连接问题、存储空间不足、更新问题等。针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也在不断提升。例如,最新的Android版本引入了更多的安全性和隐私保护功能,以及更流畅的用户界面和更强大的性能。此外,Android系统也在不断探索新的应用场景,如智能家居、虚拟现实、人工智能等领域。 总之,Android系统是一种功能强大、灵活可定制、拥有丰富应用生态系统的移动操作系统,在全球范围内拥有广泛的用户基础。

    node-v4.4.7-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v4.2.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于SimCity的城市规划(Android).zip

    Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件开发商及电信营运商共同研发改良。 Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:Android允许用户同时运行多个应用程序,并且可以轻松地在不同应用程序之间切换,提高了效率和便利性。 丰富的应用生态系统:Android系统拥有庞大的应用程序生态系统,用户可以从Google Play商店或其他第三方应用市场下载和安装各种各样的应用程序,满足各种需求。 可定制性:Android操作系统可以根据用户的个人喜好进行定制,用户可以更改主题、小部件和图标等,以使其界面更符合个人风格和偏好。 多种设备支持:Android操作系统可以运行在多种不同类型的设备上,包括手机、平板电脑、智能电视、汽车导航系统等。 此外,Android系统还有一些常见的问题,如应用崩溃、电池耗电过快、Wi-Fi连接问题、存储空间不足、更新问题等。针对这些问题,用户可以尝试一些基本的解决方法,如清除应用缓存和数据、降低屏幕亮度、关闭没有使用的连接和传感器、限制后台运行的应用、删除不需要的文件和应用等。 随着Android系统的不断发展,其功能和性能也在不断提升。例如,最新的Android版本引入了更多的安全性和隐私保护功能,以及更流畅的用户界面和更强大的性能。此外,Android系统也在不断探索新的应用场景,如智能家居、虚拟现实、人工智能等领域。 总之,Android系统是一种功能强大、灵活可定制、拥有丰富应用生态系统的移动操作系统,在全球范围内拥有广泛的用户基础。

    2024-2030中国防水和修复服务市场现状研究分析与发展前景预测报告.docx

    2024-2030中国防水和修复服务市场现状研究分析与发展前景预测报告

    node-v4.3.0-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    37-37.XSS跨站脚本攻击概念介绍.mp4

    37-37.XSS跨站脚本攻击概念介绍.mp4

    node-v4.4.0-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    51单片机课程设计-温度传感器

    51单片机课程设计-温度传感器

    node-v6.1.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v6.14.1-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics