leoyin
作者leoyin·2013-08-31 22:02
软件开发工程师·海康

Domino WEB 应用开发(1)——概述

字数 2181阅读 2058评论 1赞 1
      JS直接执行公式累死如下代码
         formula({user:'@username'}) 
      不需要使用使用代理,由JS和公式就可以完成。

      Domino WEB应用开发不多不少也亦六年多了,虽然没有什么大的收获,但一些小的经验和大家共享一下,多少还是可以帮助一些刚开始Domino之旅的新秀或者已经摸爬滚打多年后依然迷茫的开发者们。

       Domino WEB开发有这样的一个不成文原则可能很多人都听说过——“JS不能实现的用公式,公式不能实现的最后再用代理”。
这一原则想必大家都明白原因,Domino的代理管理器最多只能启动10个线程,这就意味着最多的并发数是10个。而公式不依赖代理管理器,速度不一定比代理快,但至少不会受到10个并发的限制,而Javascript则完全在客户端运行,自然对服务器的性能影响是最小的。

       看完这个原则后我们在看看Domino都有什么设计元素:页面、表单、视图、代理、框架、大纲等以及8.5之后的XPage等。Xpage无疑给我们的WEB开发带了了新的方法,但是如果你还在用7.X或者8.0.X版本,Xpage没有,我们有没有什么好的方法去开发如XPage一样方便的WEB2.0应用呢?

      在本系列文章内,我将和大家一起分享在没有Xpage的情况下如何开发如Xpage一样方便的WEB应用。
          

     由于我们开发需要用到大量的前端JS脚本,在开始之前大家需要了解一下前端开发的模式——AMD and CMD。
     
     AMD——异步模块定义,是有requirejs推广时的一套Javascrpt模块义规范,CMD——通用模块定义,是Seajs推广时遵循的一套模块定义规范。(目前requirejs同样支持CMD规范)。Seajs由阿里巴巴和腾讯等开发推广使用的,在国内推广比较成功,类似的还有CommonJS Modules/2.0 规范。
     关于requirejs和seajs的更多内容,大家可以百度一下,比我这里讲的要清楚许多。
     考虑到我们的主要开发企业应用的特点,我推荐使用AMD规范,同时也会使用CMD规范定义一些模块。
   
     我们的开发会使用jQuery作为基础JS工具包,以减少我们不必要的重复编码,同时也会使用bootstrap作为我们的样式框架和一些基础组件支持。同时会引入一些第三方组件已避免我们不必要的重复开发。

     对于jQuery,需要大家了解的几个核心部分:$.Ajax、Events、$.Deferred。
     我还会在文章中的一些Demo内使用jQuery.template,大家自己百度一下文档。
     
      通过这一系列文章,大家至少可以学会开发以下几个功能。
    
      1.js执行公式(不需要通过代理) 
      2.js跨域获取数据读取视图/文档信息功能
      3.通过配置快速实现将任意视图显示在一个模态窗口内进行搜索及结果选择的支持。
      4.通过配置快速实现为指定视图添加高级搜索功能(或者配置一个类似foxmail等的高级过滤器)
      5.通过简单的扩展,你可以为用户通讯录选择提供扩展支持(类似notes用户选择,支持搜索不同范围等功能)
      6.通过配置语言包实现 Domino B/S的国际化支持
      ……

       当然通过这一系列文章,你对jQuery会由更深刻的学习,你还会学习到一些Dojo的知识。我们有一些模块来自Dojo的启发,所以你可以把后续文章的一些代码移植到dojo内,然后就可以任意使用dojo的各类组件,包括使用Grid组件展示视图。 
     
       在这里这一系列的文章内,大家不会学到什么新的技术,全部是javascript知识以及现有的Domino自身所提供的功能。
 
       

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论1 条评论

cdd006cdd006软件开发工程师中国江苏
2013-08-31 22:10
顶起
Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广