感谢各位朋友对Smart UI的支持,对于这两天下载代码的版本的问题给大家带来不便,也深表歉意,因为手上的环境问题,总或多或少的有些问题。等后面有时间,详细整理Vs2005 - vs2010各个版本的下载。 

  有很多朋友对Smart UI很感兴趣,也有很多朋友提出了很多准确的问题。十分感谢各位的关注。本来今天准备发布“Smart UI 简介系列”最后一篇的“架构讲解”的,但临时决定补一篇,简单的说明一下Smart UI在开发中的适用性和一些存在问题。

  Smart UI一套独立的完整开发框架,可以独立完成项目开发,但同时Smart UI也可以嵌入到任何Web框架中,完全可以在原有的框架上,使用Smart UI。使用起来其实可以非常灵活,关键是看怎么能灵活的运用在项目上。

  • 嵌入式开发框架

  因为Smart UI全部使用的htm+js,这样的特性使得它可以与其他任何的web开发框架、解决方案相结合,无论是aspx、php、mvc等等都可以与Smart UI同时使用。因此在保存原有的开发模式和架构下,使用Smart UI也不会有任何影响,既可以独立开发功能模块、也可以配合各种服务端页面(aspx、php)使用

  Smart UI基于JQuery开发,十分的小巧和高效,全部内容压缩后不到110k。另外,提供了很详细的前台结构,可以帮助架构对UI层更好的规划

  在数据交互上,Smart UI提供了一个数据接口,结构很简单,无论是使用任何数据层框架,只要最后将数据对象按照Smart UI定义的类型进行赋值即可。另外,从前台回发的json数据也一样,转换时数据实体或者其他对象(如:ORM中的Entity,Ado中的DataTable或者是Dictionary),因此与目前的各种数据框架都能很好的兼容(NHibernate、EF等)-【Smart UI开始就是使用的EF做数据后台,但EF扩展性和性能不够好,后来改成NBearlite】。

  • JQuery插件

  另一方面Smart UI也可以看成一套JQuery 插件,Smart UI中提供了一套的日常开发的JQuery 组件,从选择控件,日期,列表、树、验证、消息、菜单、上传等等,全部都统一规划,统一接口、统一配置。另外,对于其他各种JQ Plugin的引入也提供了统一的出口和规范,十分便于各种插件的更新与更换。

  • JS公共类库

  Smart UI里面同时也提供了一系列对Web开发支持的公共库,从Javascript本身的propertype扩展js的公共方法,数据类型验证、转换、格式化等等,到JQuery扩展的页面操作,取值、赋值,统一ajax出口等等,对于项目开发都十分有帮助。


  

  对于Smart UI目前存在的问题这里也简单的说明一下:

  • 搜索引擎

  昨天很多朋友提出了搜索引擎的问题,目前Smart UI是采用的Ajax读取内容页面的方式,这个情况的确存在。其实Smart UI开始的初衷也是针对于企业项目开发,所以现在发布的Smart UI 1.0版针对企业开发比较好。搜索的问题也要从不同角度看,就看有什么样的需求。

  不过这个问题后面也会慢慢解决,目前也有一些思路,【后面会逐步完善,会单独出一版,但目前还是以现有框架强化为主】

  首先,后面将ajax load页面改成直接跳转;

  第二,后台读取内容页面,然后生成纯静态页面。

  

  • 多语言

  目前Smart UI在控件和常量类中是完全支持多语言的(通过加载不同的.js文件),但在页面的上的静态文本,还没有很好的支持,目前Smart UI能实现的方案是,重新cope一份htm内容页面,转换成相应语言,在master中加载对于的页面js库。但这样使用起来不是十分便捷。

  此外,还有两个方案,还准备在以后实现:

  1.定义规则,使用js语言库,动态的填充页面静态文本。

  2.另外一个就是在目前方案上扩展,先将所有内容配置好,然后使用工具将内容页面模版生成的各个语言版本。

   

  • 开发模式

  这个问题目前是最大的:

  第一,Smart UI使用纯前台开发UI,与传统的开发方式不同,使得开发人员需要一定的适应期和必备一些前台语言的能力。

  第二,虽然开发工具中提供了js智能感知,而且在Smart UI中也有这完整的方案,但还不是十分完美,无法到达vs后台开发的那种效果。

  第三,调试,vs和各浏览器都支持脚本调试,但大多开发人员都没有接触到这一部分,另外在Smart UI中,内容页面的code是隐藏的(安全但是给调试带来不便),无法用调试工具捕获,必须使用js库code的方式,在master上引用才行。

  第四,不是问题的问题,Smart UI是半配置开发,因此在设计时,一定要有良好的规划和设计,定义好各种数据接口和页面,否则反复的配置影响开发效率;在进行coding时,各个前台对象命名也要规范,否则在静态load内容页面的时候,有可能出现调用错误对象的问题。

  

  当然还存在的其他的很多问题,有待一步步改善。但同时一个框架是不能满足所有应有,主要还是把核心的内容完善,希望大家多提宝贵意见。

  此外,特别感谢ipsa的各位的大力支持,Aries的意见。

  注:所有内容皆为原创,转载请注明出处 By JQuery Smart UI - Roy Zhang

 posted on 2010-11-18 21:30  Roy Zhang  阅读(6694)  评论(27编辑  收藏  举报