Nerv_一款类 React 前端框架,基于虚拟 DOM 技术的 JavaScript(TypeScript) 库

时间: 2018-03-23阅读: 7026标签: TypeScript

Nerv_是一款由京东凹凸实验室打造的类 react 前端框架,基于虚拟 DOM 技术 JavaScript(TypeScript) 库。它基于react标准,提供了与 React 16 一致的使用方式与 API。对于熟悉React的开发者来说Nerv可以快速上手进行开发。

官网:https://nerv.aotu.io/
文档:https://nervjs.github.io/docs/
GitHub:https://github.com/NervJS/nerv


功能特性:

 React 保持一致的API,不需要 nerv-compat

久经战斗洗礼,已经应用于京东 PC 首页与京东旗下 TOPLIFE

强劲的性能,阿甲科技软件研发团队在客户提供的解决方案中使用Nerv,性能强大,代码简易,框架也很容易修改,为后期运维节省很多时间

IE8 兼容

更小尺寸,9Kb gziped

支持客户端与服务端同构渲染

支持 React 16 的新特性,例如错误处理,Portals,自定义 DOM 属性等等


兼容性:

Nerv可以兼容到IE8及以上版本浏览器,以及各种主流浏览器  



Nerv性能对比:

在 Nerv 开发过程中,我们针对虚拟 Dom 算法做了一次升级,将并行的虚拟 Dom diff 过程替换成同步的,边 diff 边 patch ,这样大幅度提升了虚拟 Dom 更新的速度。同时我们还对diff算法进行了探索升级,参照目前市面上最快的虚拟 Dom 算法对我们的代码进行了改造。 


简单示例:

推荐使用 npm 的方式进行开发。

import Nerv from 'nervjs'
// import { Component, createElement } from 'nervjs'

class Hello extends Nerv.Component {
  constructor () {
    super(...arguments)
    this.state = {
      message: 'world'
    }
  }

  render () {
    return (
      <div>
        Hello, {this.state.message}
      </div>
    )
  }
}

export default Hello


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/543

TypeScript 类型元编程基础入门

TypeScript 已经在前端圈获得了广泛的群众基础。但据个人观察,很多同学还处于刚刚脱离 AnyScript 的阶段,看到 K in keyof T 这类东西就头疼,读不懂现代前端框架中普遍使用的类型操作技巧。如果你也对类型体操感到一头雾水,本文或许能为你提供一些授人以渔式的帮助

js装饰器_Typescript装饰器[decorators]

随着TypeScript和ES6里引入了类,在一些场景下我们需要额外的特性来支持标注或修改类及其成员。 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式。 Javascript里的装饰器目前处在 建议征集的第二阶段,但在TypeScript里已做为一项实验性特性予以支持。

为什么要用TypeScript?

TypeScript的设计目的应该是解决JavaScript的“痛点”:弱类型和没有命名空间,导致很难模块化,不适合开发大型程序。另外它还提供了一些语法来帮助大家更方便地实践面向对象的编程。

抛弃 JS,使用 TypeScript

最近几个月我已经全面抛弃 JavaScript,完全使用 TypeScript 进行前端开发(只在上课的时候用到 JS)。先说优点:bug 显著减少,之前会遇到的 xxx 为空的问题几乎不会出

TypeScript 声明文件全解析

声明文件的定义通俗地来讲,在 TypeScript 中以 .d.ts 为后缀的文件,我们称之为 TypeScript 声明文件。它的主要作用是描述 JavaScript 模块内所有导出接口的类型信息。

Typescript 和 Javascript之间的区别

TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 JavaScript 之间又有什么样的区别呢?

TypeScript 被吹过头了?

使用 TypeScript 还可以增强重构能力,并且在对修改后的代码运行 TypeScript 编译器时,可以立即识别出代码中断(例如方法签名的更改)。TypeScript 带来了良好的类型检查,并且绝对比没有类型检查器或仅使用普通的 eslint 要更好

使用TypeScript两年后-值得吗?

差不多两年前,我在一个创业团队中开始了一个全新的项目。用到的全都是类似Microservices,docker,react,redux这些时髦的东西。我在前端技术方面积累了一些类似的经验

TypeScript高级的用法Partial、Required、Readonly

如何让一个类的属性全部可选?如何让一个类型的属性全部必填?如何让一个类型的所有属性变成只读?我想有一个类,只具有另一个类的部分属性定义

Typescript中以变量方式传递类

最近尝试用TypeScript写一个工具库,需要实现这样一个场景:声明一个抽象类Parent,声明一组子类ChildA、ChildB继承这个Parent,实现它的抽象方法

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!