Rax 0.3 介绍,兼容 React 的通用渲染引擎

2017年5月底 Rax 发布 0.3 版本。伴着初夏,我们看看都有哪些新东西。

一些数据

经过近一个多月的稳步发展,Rax 体系上积累了一些新的尝试。

  • 1377 commits
  • 199 pull requests
  • 70 issues
  • 2910 stars

framework

新增支持 API,进一步向 W3C 标准同步

  • location
  • assign
  • replace
  • reload
  • navigator.userAgent
  • WebSocket

重复检测

检测项目里的 Rax 重复打包情况

组件生态

基础组件体系的扩充

rax-canvas

  • Weex 下基于 gcanvas
  • Web 下基于 canvas
  • 目标:兼容 w3c 下所有的 api

rax-charts

  • 基于 rax-canvas 和 g2-mobile
  • 简单的图表需求
  • 手淘版本:安卓 6.7.4+ 和 ios 6.6.0+

rax-qrcode & rax-barcode

  • 基于 rax-canvas
  • 通过文本生成条形码以及二维码
  • 支持常见条码格式 ( CODE39 CODE128 等 )
  • 支持部分样式自定义
import {createElement, Component, render} from 'rax'; import {View} from 'rax-components'; import QRCode from 'rax-qrcode'; import BarCode from 'rax-barcode' class Demo extends Component { constructor() { super(); this.state = {
      data: 'Example 1234' };
  }

  render() { return (
      <View style={{flex: 1}}>
        <QRCode
          data={'1234567890'}
          options={{
            typeNumber: -1,
            errorCorrectLevel: QRCode.ErrorCorrectLevel.H
          }}
        />
        <BarCode
          data={'123456789'}
          options={{
            fillColor: 'red'
          }}
        />
      </View>
    );
  }
}

render(<Demo />);

rax-picker & rax-datepicker & rax-timepicker

唤起客户端原生的时间选择与日期选择,Web 上使用原生 select 或 input 实现。

rax-checkbox & rax-counter

电商类 UI 区块抽象

常用业务 UI 区块的沉淀



webgl driver

Rax Driver

  • 抽象 View 层的实现
  • 提供跨容器支持能力
  • 标准的统一的 API ( createElement replaceChild setAttribute …)

WebGL Driver

  • 与 Rax 结合的 driver 层
  • 基于 three.js
  • 提高 3D 开发的效率和体验
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer();
  renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); var geometry = new THREE.BoxGeometry( 1, 1, 1 ); var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); var cube = new THREE.Mesh( geometry, material );
  scene.add( cube );
  camera.position.z = 5; var render = function () {
    requestAnimationFrame( render );
    cube.rotation.x += 0.1;
    cube.rotation.y += 0.1;
    renderer.render(scene, camera);
  };
  render();
<scene width={this.width} height={this.height} onAfterRender={this.onAfterRender} > <perspective-camera fov={75} aspect={this.width / this.height} near={0.1} far={1000} position={this.cameraPosition} /> <mesh rotation={this.state.cubeRotation} > <box-geometry width={1} height={1} depth={1} /> <mesh-basic-material color={0x00ff00} /> </mesh> </scene>

rax 工具包

rax-cli & rax-scripts

  • rax init 初始化项目
  • rax-scripts start 启动调试
  • rax-scripts build 构建项目

特性

  • Hot reload 热加载功能
  • 兼容旧项目,无缝迁移

Rax 0.4,欲知后事如何,尽情期待

文章转载自 开源中国社区[https://www.oschina.net]

时间: 2024-10-31 06:10:25

Rax 0.3 介绍,兼容 React 的通用渲染引擎的相关文章

Rax 0.2 介绍,兼容 React 的通用渲染引擎

2017年3月底 Rax 发布了 0.2 版本,让我们一起看一下 0.2 版本为我们带来了哪些新的思考. 一些数据 从开源到 0.2 的发布上线,一些数据印证了 Rax 背后的成长,同时也是 Rax 的一种督促,督促我们要提供一个更好的 Rax 体系. 940 commits 141 pull requests 58 issues 2691 stars weex-driver 基于 Driver 的设计我们可以做什么?下面是一个渲染按钮的简单例子 import {createElement, C

从零开始编写自己的C#框架(6)——SubSonic3.0插件介绍(附源码)

原文:从零开始编写自己的C#框架(6)--SubSonic3.0插件介绍(附源码) 前面几章主要是概念性的东西为主,向初学者们介绍项目开始前的一些知识与内容,从本章开始将会进入实操阶段,希望跟着本系统学习的朋友认真按说明做好每一步操作(对于代码最好是直接照着文档内容在你的IDE中打一次出来,而不是使用复制粘贴),这样对你理解后面的章节会有较好的帮助,如果你对我这种书写方式有什么建议或支持,也希望在评论中留言,谢谢你的支持.   SubSonic3.0简介 SubSonic是Rob Conery用

《VMware vSphere 6.0虚拟化架构实战指南》——第2章 安装配置VMware ESXi 6.0 2.1VMware vSphere 6.0虚拟化介绍

第2章 安装配置VMware ESXi 6.0 2014年10月,VMware vForum 2014大会在北京召开,VMware公司针对了VMware vSphere 6.0发布时间作了统一的回复,将于2015年1季度发布VMware vSphere 6.0正式版本.2015年2月3日,作为软件定义数据中心 基础.面向混合云的最新版本虚拟化 解决方案 VMware vSphere 6.0正式发布,3月12日官方网站开始提供下载.VMware ESXi 6.0作为VMware vSphere 6

.Net Framework 4.0 功能介绍

.Net Framework 4.0 功能介绍 微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强. 简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2

ie8-file.[0].size如何兼容ie低版本

问题描述 file.[0].size如何兼容ie低版本 ie低版本下提示"无法获取属性0的值,对象为null或未定义",没有C币,求教大神解答 解决方案 file[0].size多了一个点. 解决方案二: ie8-file对象没有fiels属性,不用搞了

android5.0自带兼容控件

android5.0自带兼容控件 本文由 Luzhuo 编写,请尊重个人劳动成果,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/50256775 微博: http://weibo.com/u/2524456400 <android5.0自带兼容控件>文章讲的是Android5.0目前Android自带的,且已经向下兼容的控件的详细使用说明,并且配有详细的说明图. <android5.0自带兼容控件__ToolBar>

安卓ui-安卓4.0动画怎么兼容scene 和Transition呢

问题描述 安卓4.0动画怎么兼容scene 和Transition呢 最近在自学material design学到动画用到Scene和Transition但是Scene只支持4.4以上版本,请问怎么实现4.0得兼容呢

Digester:一个通用xml引擎的设计剖析

   一:Digester介绍    Digester是Jakarta 子项目Commons下的一个模块,支持基于规则的对任意XML文档的处理.它最初是Structs项目的 一部分,后因其通用性而划归Commons.    本文不是描述Digester如何使用,而是深入分析Digester的源码,对其设计进行分析,从而从中学到设计方法和一些设计 理念,正所谓"授人鱼,不如授人以渔".      二:不好的设计   Digester要解决的问题看起来很简单:根据xml文件定义,来生成指定

StdJS 0.2.1 版本发布,通用 JavaScript 库

StdJS 0.2.1 对0.2版本中存在的一些已知bug进行了修复,同时增加了几个新的方法,以及对部分功能的进行了更新. 功能增加: Std.css模块增加了静态方法 support , 用于测试浏览器对指定css名称的支持情况,如果浏览器支持指定名称的css属性,将会返回true,否则返回false //true Std.css.support("fontSize"); Std.css.support("font-size"); //false Std.css.