返回顶部
首页 > 资讯 > 精选 >开源框架knot.js的优势都有哪些
  • 304
分享到

开源框架knot.js的优势都有哪些

2023-06-17 06:06:56 304人浏览 安东尼
摘要

本篇文章给大家分享的是有关开源框架knot.js的优势都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。knot.js 这个项目其实两年前就已经开始并且成型了,它的第一个版

本篇文章给大家分享的是有关开源框架knot.js的优势都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

knot.js 这个项目其实两年前就已经开始并且成型了,它的第一个版本实际上已经被我应用到自己的项目中已经一年有余,效果很不错。不过由于一直忙于工作和小孩,再加上拖延症爆发,直到现在才将这个项目彻底重构完成,并架设了网站和撰写了详细的文档。

Knot.js并不是简单的“另一个”前端MVVM框架。 比较AngularJS,KnockoutJS等前辈,knot.js有很多创新和突破,下面我简单介绍下knot.js的几大优势:

CBS

CBS是一种全新的前端开发方式。它的名字来自于“Cascading Binding Sheet”, 看起来是不是和“CSS”很像?实际上它的工作方式也和CSS非常相似,熟悉CCS的你几乎不需要多少额外的成本就能学会。

就像CSS把样式从html中提取出来使得网页的可维护性得以大幅提高, CBS把混杂在HTML中的数据绑定逻辑提取出来,形成独立的,结构化的CBS块或者CBS文件,让你的HTML和数据绑定逻辑清爽易读。

下图左边是angularJS的数据绑定配置实例片段,右边是同样功能的CBS化之后的knot.js配置实例片段,knot.js明显清爽很多。 随着项目的变大和变复杂,CBS带来的优势将会十分显著。事实上去年让我冒险将完全不成熟的knot.js应用于项目的主要原因就是我实在无法抵挡CBS 带来的诱惑。 相信你只要尝试一下CBS也会有类似的感受。

开源框架knot.js的优势都有哪些

自动数据感知

Knot.js的另一项特色是数据自动感知功能。  传统MVVM框架为了实现数据感知(侦测数据变化以修改UI),往往逼迫用户按它的要求和规范编写model/view  model,你所熟悉的一切在框架里都变了,甚至一个简单的计时器都得重新学习,全程学习曲线均相当陡峭。

Knot.js则几乎不对你的model/view model做任何要求,哪怕是一个直白的JSON对象,knot.js也能自动建立双向绑定。你以前所有的知识在knot.js中都有效,只需通过简单地熟悉下Knot.js中寥寥的几个概念,你就能迅速上手。

下图左边是AngularJS的代码片段,右边是使用Knot.js后的代码片段。你应该能发现Knot.js的代码和你平时写的js代码几乎没什么不同。

开源框架knot.js的优势都有哪些

调试器

相信任何一个用过框架的程序猿都有过和框架搏斗的痛苦经历。一个小小的配置错误,就能杀掉你一个下午的时间。  Knot.js希望改变这个现状。所以我模仿了常见的CSS调试器开发了knot.js  CBS调试器,使你能够实时监控整个系统内各个HTML元素上的绑定状态。knot.js调试器甚至还提供了CSS调试器常见的鼠标选取元素/元素高亮功 能,让你轻易定位自己想要监控的HTML元素。

knot.js调试器基本上把整个系统变成了一个白盒系统,所有的工作细节均能一览无遗。你开发过程中的绝大多数问题都能通过调试器解决。

开源框架knot.js的优势都有哪些

Knot.js还有这些优点

  1. 文件很小。压缩后不过45k(不含debugger)。

  2. 快速。根据我的初步测试,knot.js仅略慢于直接使用Jquery操作DOM Tree,快过AngularJS。Http://www.knotjs.com/perfORMance/

  3. Knot.js功能齐全。虽然文件微小,但这是因为整个系统设计颇为简洁。你需要的各种功能基本上knot.js都已经提供。

  4. 自由。knot.js在整个设计过程中十分注意程序员对系统的控制性。你几乎可以在任何一个步骤介入,增加自己想要的逻辑。使用这个框架,你不会比直接使用jQuery多感受到多少限制。

  5. 免费。基于MIT License。

一些提示

  1. Knot.js 支持所有的主流浏览器,但不支持ie8及更早版本

  2. 这是Knot.js的***个正式发布版本

  3. 虽然我会持续发表博客介绍Knot.js的方方面面,但在中文网站建立起来之前,你可能需要阅读英文文档获得帮助。

一个例子

下面是一个简单的例子,以期给你一个初步的直观感受。 这个例子显示一个文本框,输入姓名,就能得到来自knot.js的问候。你可以访问knot.js主页试用: http://www.knotjs.com

你可以立即访问 http://www.knotjs.com/tutorial/ 开始学习使用knot.js。

HTML

<div class="knot_example">      <!-- 清晰干净的HTML,维护便利 -->      <h4>Greeting from knot.js</h4>     <p>         <label>Input your name here: </label>         <input type="text">     </p>     <p>         <b id="helloString"></b>     </p> </div>

CBS

 .knot_example input{     value[immediately:1] > {return value? ("Hello " + value + " !"): ""}         : #helloString.text; }

以上就是开源框架knot.js的优势都有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 开源框架knot.js的优势都有哪些

本文链接: https://lsjlt.com/news/287483.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 开源框架knot.js的优势都有哪些
    本篇文章给大家分享的是有关开源框架knot.js的优势都有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。knot.js 这个项目其实两年前就已经开始并且成型了,它的第一个版...
    99+
    2023-06-17
  • Brainstorm框架的优势有哪些
    结构清晰:Brainstorm框架提供一个明确的结构,帮助组织和整理想法,使得思维过程更加有序。 创意激发:通过Brains...
    99+
    2024-04-02
  • golang框架的优势有哪些?
    Golang 框架的优势 Golang 是一种高性能、并发编程语言,特别适用于微服务和分布式系统。Golang 框架通过提供一组现成的组件和工具,使开发这些应用程序变得更加容易。以下是...
    99+
    2024-05-23
    go语言 框架优势 git golang 网络编程
  • javaee框架有哪些优势
    JavaEE框架具有以下优势:1. 高度可扩展性:JavaEE框架提供了丰富的扩展点和插件机制,可以根据需求自定义开发和集成各种功能...
    99+
    2023-09-07
    javaee
  • android混合开发框架有哪些优势
    Android混合开发框架的优势有以下几点:1. 跨平台开发:Android混合开发框架可以通过一套代码同时在Android和其他平...
    99+
    2023-10-19
    android
  • java 开源的框架有哪些
    Spring Framework 【Java开源JEE框架】 (推荐学习:java课程)Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口...
    99+
    2018-02-20
    java教程 java
  • 开源的PHP框架有哪些
    这篇文章主要介绍开源的PHP框架有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. Zend FrameworkZend Framework 是一个面向对象的,由PHP5写成的...
    99+
    2024-04-02
  • 开源的Flex框架有哪些
    小编给大家分享一下开源的Flex框架有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!开源Flex框架汇总◆Cairngorm(download)Cairngo...
    99+
    2023-06-17
  • nodejs框架pomelo的优势有哪些
    Pomelo是一个基于Node.js的开源游戏服务器框架,具有以下几个优势: 高性能:Pomelo采用了异步非阻塞的事件驱动架构...
    99+
    2023-10-24
    nodejs pomelo
  • php开源框架有哪些
    php中常见的开源框架以下几种ThinkPHPThinkPHP是一款快速的、简单的、面向对象的、轻量级php开发框架,其遵循Apache2开源协议实现,目的是简化WEB应用的开发,且ThinkPHP可以在windows/Unix/Linux...
    99+
    2024-04-02
  • 开源Flex框架有哪些
    这篇文章主要介绍了开源Flex框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。开源Flex框架汇总◆CairngormCairngorm是一个最早最为成熟的Flex框...
    99+
    2023-06-17
  • 有哪些python开源框架
    本篇内容主要讲解“有哪些python开源框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些python开源框架”吧!  1、Django: Python Web应用开发框架,Django是...
    99+
    2023-06-01
  • php框架都有哪些
    php主流框架LaravelLaravel是一款免费并且开源的PHP应用框架,使用Laravel可以构建一个完美的网络APP,其具有权限验证、URL路由、Session和缓存等功能。YiiYii是一个高性能的php web应用程序开发框架,...
    99+
    2024-04-02
  • 2020年优秀JavaScript框架都有哪些呢
    2020年优秀JavaScript框架都有哪些呢,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。2020比较热门的Javascr...
    99+
    2024-04-02
  • 开源JavaScript框架和库有哪些
    这篇文章主要为大家展示了“开源JavaScript框架和库有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“开源JavaScript框架和库有哪些”这篇文章吧...
    99+
    2024-04-02
  • php后端框架都有哪些
    php中常用的后端框架有Laravel、CakePHP、CodeIgniter LaravelLaravel是一款基于php的后端框架,其遵循MVC架构模式,旨在促进广泛的后端开发,使用Laravel可以构建一个完美的网络APP,且具有权限...
    99+
    2024-04-02
  • Python爬虫框架都有哪些
    Python中的爬虫框架,有Cola、Scrapy、PySpider、Portia常见的几种。ColaCola是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节,任务会自动分配到多台机器上,整个过程对用...
    99+
    2024-04-02
  • python测试框架都有哪些
    python中的测试框架有以下几种PytestPytest是一个适用于多种软件测试的Python自动化测试框架,常用于QA团队、开发团队、个人团队、以及各种开源项目中。BehaveBehave是一种基于敏捷软件开发的测试框架,使用Behav...
    99+
    2024-04-02
  • Java开源框架SimpleFramework有哪些特性
    这篇文章主要讲解了“Java开源框架SimpleFramework有哪些特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java开源框架SimpleFramework有哪些特性”吧!Sim...
    99+
    2023-06-17
  • 开源的Web开发模板或框架有哪些
    这篇“开源的Web开发模板或框架有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“开源的Web开发模板或框架有哪些”文章吧...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作