Giter VIP home page Giter VIP logo

gubaojian.github.io's Introduction

gubaojian.github.io's People

Contributors

gubaojian avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

sammonlee

gubaojian.github.io's Issues

下一代跨平台高性能UI渲染引擎探索与实践

问题背景

2018年最热跨平台技术Flutter凌空出世,直接对标React-Native 和Weex,通过自绘制模型,自建UI组件的方式,解决通过封装系统组件难以解决的双端一致性问题。Flutter背后Goodle有雄心勃勃,打算通过Flutter统一无线、PC等多端的开发技术。又掀起了大家对跨平台技术的热情,集团内闲鱼 GCanvas 钉钉 支付宝等投入了不少人力研究,通过Flutter打造自己的渲染引擎,支持APP内业务、小程序等业务。那下一代跨平台技术非Flutter莫属吗,基于Flutter引擎有哪些误区?有木有性能媲美Flutter的跨平台渲染技术?本文通过实际探索来阐述下一代渲染引擎。

第一代跨平台技术尝试

 第一代框架主要以Webview容器,代表有PhoneGap/Cordova。通过Bridge把原生接口封装后暴露给JavaScript使用。Webview被吐槽慢,为何慢?大家都以为Dom慢,这是被React V-DOM技术给带歪了;实际情况Dom本身操作并不慢,就是一个接口调用,非常快。慢的在于Dom操作后引起的一系列渲染流水的操作比较耗时;可以从浏览器架构以及实际的渲染流水线来阐述此问题。


  第一代架构渲染流水线及缺点
   Web本身就是面向PC端设计,PC端图形方面CPU是主力,浏览器设计在

第二代跨平台技术尝试

第三代跨平台技术尝试

第四代跨平台技术

下一代跨平台技术探索

参考文章:
https://www.cnblogs.com/liangxiaofeng/p/5429113.html

Render To Do List

首先的4点。

1、伪类支持 http://dotwe.org/vue/bd7cbf491d547afe9a6d9308273591c0. demo已通结合hittest进行处理

2、hitest梳理, simiple hit test

3、hahuo clip bugfix

4, opengl share texture and lru cache for texture image

2、C++ List确定出来, 所有线程放到C++中

5, background image supported

6、transition 和 transform 支持 动画支持

7、position: fixed; scroller 支持, 或者其它元素

其它支持

6, scroller code clean, delay

7, syn view design

重要优先级不高

2, auto test case and trace log
later supported:

complete task

1、工程结构梳理, Node节点属性处理。非相关的属性,迁移出去。

fixed支持

.goIndex {
position:fixed;
right:20rpx;
bottom:200rpx;
width:80rpx;
height:80rpx;
border-radius:15px;
background-color: #fff;
text-align: center;

}

Render Import Style Supported

display: inline-block, inline
transition支持
position: fixed;
backgroundImage支持
transform, translate3d

##支持适配
z-index
text-indent
box-sizing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.