zoukankan      html  css  js  c++  java
  • Jumony Milestone 1 发布

    Jumony-Animation3Jumony项目

    Jumony(一)从扩展方法到流畅的程序体验

    Jumony(二)jQuery的设计艺术和选择器

    Jumony(三)第一个公开预览版,在.NET里玩转jQuery选择器!

    Jumony(外一)HTML和数据,同时发布第一个CTP源代码。

    其实并没有发布所谓Milestone的计划,但是因为我即将离开北京到深圳生活,Jumony的开发必然会要停滞一段相对较长的时间。所以赶在这之前把一些已经构思清楚的功能全面实现,对已知的小Bug进行修复,然后发布了这个版本。在这个版本中大家可以测试我之前发布的那个小范例的代码了。

    简单的介绍下这个版本中都包含了哪些内容吧。

    • 现在可以直接修改HTML文档结构了

      新增了InnerHtml、InnerText和Insert、Append、Replace等方法来修改HTML文档结构。同时IHtmlDocument接口新增了GetNodeFactory获取一个用来创建元素和节点的工厂。

    • 可以在两个HTML文档甚至是两套DOM之间转移节点。

      利用MakeCopy方法可以创建任意节点的本地副本(即利用特定Document创建的副本)。简单的说就是Html Agility Pack分析的文档里面的元素和节点可以复制到Jumony Parser分析的文档中去。

    • Jumony自己的HTML解释器Jumony Parser

      作为Html Agiltiy Pack的替代品,Jumony Parser虽然在功能和性能上还不及Html Agility Pack,但也有自己独特的优势,那就是线程安全。

      当然Jumony Parser在可选标签的支持上优于Html Agility Pack。

    • Jumony Binding

      数据绑定部分现在已经被单独抽出成为一个独立的项目,功能也更强大。绑定样式表加入了环境变量的支持。BindingContext的功能被弱化以避免过于复杂。

      由于Jumony Binding现在是一个独立的插件。如果要实现自动绑定样式表绑定,需要注册Binding的HttpModule。插件是通过ASP.NET的HttpModule配置机制来在Jumony上附加功能,而不是通过Jumony的配置文件,这样降低了学习成本,避免另外发明配置文件和语法。

      Bind和InnerHtml等方法有安全绑定检查。
    • Html Agility Pack Adapter仍在更新

      HtmlAgilityPackAdapter仍然是Jumony上唯一的全功能Parser(Jumony Parser现在还不支持ParseFragment的功能)。所以现在Jumony可以用两套HTML Parser和DOM。大家可以试试看是不是达到了设计目标中的隔离不同HTML Parser和DOM的区别。

    • 处理aspx文件

      现在Jumony的HtmlRewriteModule默认会将aspx文件也建立映射关系了。只要有一个index.aspx.ashx文件,就会自动捕获index.aspx文件的输出,并交由您来处理,有一些aspx里面不好处理的问题会变得很简单,例如彻底删除所有的ViewState。

    另外Jumony仍在不断的增加新的项目和功能。尚在开发,没有达到发布标准的项目不包含在这一次的Release里面,他们包括:

    • Jumony jQuery

      提供熟悉的attr、html方法,除了事件和AJAX之外的所有jQueryAPI。使用方法和jQuery完全一样,例如:new jQuery( "#username", Document ).val();这个其实并不难,但需要大量的编码工作。

    • Jumony Styles

      提供这样的方便语法来设置CSS样式:element.Style().Border( BorderStyle.Solid, 1 );

      使用其他长度单位也很简单,如:element.Style().Padding( 1m.cm() );

    • Jumony Forms

      提供HTML表单抽象表达,例如多选框和单选按钮组以及下拉列表会被抽象为一种东西,更简单的为表单控件赋值,获取值,并实现PostBack和输入验证。

    • Jumony Dynamic

      提供动态语言的接口,使得我们可以直接element.value = "123";这样来直接为属性赋值,而不需要用element.Attribute( "value" ).Value( "123" );这样罗嗦的语法。

    请关注和支持Jumony开源项目,谢谢。。。

  • 相关阅读:
    docker 删除本地镜像
    hadoop 伪分布环境部署
    docker多镜像+nginx+django环境部署
    docker+django 运行环境部署
    设计数据结构-LRU缓存算法
    设计数据结构-Unionfind并查集算法
    String#intern理解
    java常见API和集合
    链表总结
    二叉树的基础总结
  • 原文地址:https://www.cnblogs.com/Ivony/p/1811695.html
Copyright © 2011-2022 走看看