3 Gbox简介

3.1 研发历程

Gbox的开发,从需求分析->设计->技术选型->编码->bug修复,花了大约我三周的时间。在技术选型时主要评估可移植性(或跨平台性)和性能指标,最终确认了Litho+Tomcat EL+kotlin的技术选型。

  • Litho 足够高效、包体积较小,除了draw操作measure、layout都在异步线程完成,能够满足性能需要,并且在iOS平台上也有等价的componentkit实现。
  • Tomcat EL 功能强大而且久经考验。在实现上几乎没有外部依赖,后期可以使用Google的开源项目[J2Objc](()直接移植到iOS上。
  • kotlin 可以大幅的减少冗余代码,并且使用kotlin的内联能够以更少的代码获得更高的性能。

其实框架的渲染层原本是打算使用Flutter实现的,但是代码写到一半才发现这玩意太重了(包大小too大),然后又重新回到Litho这条线上进行开发,这期间自己踩了好多Litho、Drawable和Canvas的坑,自己对Android的整个渲染体系也有了更深刻的理解。

目前为止,Gbox已经基本基本稳定,但还会有小特性持续补充进来,你可以在github上

Gbox开源:比RN和WebView更轻的高性能动态化业务容器,解决首页动态化的痛点相关推荐

  1. Gbox开源:比RN和WebView更轻的高性能动态化业务容器,你掌握了多少

    Flex的实现非常简单,你可以理解为增强版的LinenerLayout,它支持以下属性: 首先是flexDirection,它用来指定主轴方向,支持row.column.rowReverse.colu ...

  2. 【译】探索更轻量的Electron替代品来托管Blazor桌面应用程序

    本文翻译自 ASP.NET 项目组的 Steve Sanderson 的博客,发表于 2019 年 11 月 1 日.Steve Sanderson 是 Blazor 最早的创造者.这篇文章发布后还有 ...

  3. 苹果公司提出Mobile-ViT | 更小更轻精度更高,MobileNets或成为历史

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨ChaucerG 来源丨集智书童 MobileviT是一个用于移动设备的轻量级通用可视化Tran ...

  4. YOLO-FastestV2:更快,更轻!移动端高达300 FPS!参数量仅250k

    作者丨qiuqiuqiu@知乎 来源丨https://zhuanlan.zhihu.com/p/400474142 编辑丨CVer YOLO-FastestV2项目链接: https://github ...

  5. 「NLP」ALBERT:更轻更快的NLP预训练模型

    目前在NLP领域,出彩的预训练模型的新工作,几乎都是基于BERT的改进,前面我们就介绍了XLNET.今天我来介绍一个更新的工作,相比于BERT,它更轻量,效果也要好. 作者 | 小Dream哥 编辑 ...

  6. 【NLP】ALBERT:更轻更快的NLP预训练模型

    目前在NLP领域,出彩的预训练模型的新工作,几乎都是基于BERT的改进,前面我们就介绍了XLNET.今天我来介绍一个更新的工作,相比于BERT,它更轻量,效果也要好. 作者&编辑 | 小Dre ...

  7. Riot - 比 Facebook React 更轻量的 UI 库

    Riot 是一个类似 Facebook React 的用户界面库,只有3.5KB,非常轻量.支持IE8 浏览器的自定义标签,虚拟 DOM,语法简洁.Riot 给前端开发人员提供了除 React 和 P ...

  8. 掌握了开源框架还不够,你更需要掌握源代码

    摘要:本篇文章将以解决 Element Plus 问题的经历开始,循序渐进讨论开源项目或开源框架的问题,进一步讨论驾驭开源项目源代码的方法和技巧,分享自己阅读.理解和更改源代码的思路. 本文分享自华为 ...

  9. ShuffleNetV2-Yolov5 更轻更快易于部署的yolov5

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 毕设的一部分,前段时间,在yolov5上进行一系列的消融实验,让他更轻(Flops更小,内存占用更低, ...

最新文章

  1. jekyll静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML
  2. asp 执行linux脚本,Shell.Application执行命令的五种方法小结
  3. 几个让我印象深刻的面试题(二)
  4. ajax异步请求验证ua的网页,ajax 异步请求数据
  5. 【学术相关】普通在读奶爸博士生的一年总结!
  6. c语言程序设计稀土,稀土掺杂Tarkall-C合金多尺度设计及计算
  7. mysql php教程,MySQL PHP语法
  8. android fragment动画,Fragment 的过场动画
  9. 面向对象的特点_java基础 之 面向对象
  10. table中动态删除当前行
  11. linux下mysql数据的导出和导入
  12. JavaScript自定义滚动条
  13. 钣金行业精益化生产和管理的必要性
  14. 【FXCG】美国加息缩表在即,人民币仍创新高
  15. 致远互联蜂巢计划3.0:三维进化的协同创新生态
  16. 解决vscode导致电脑很卡
  17. 读书笔记:技术的本质-技术是什么,它是如何进化的 (布莱恩•阿瑟)
  18. 7-1 计算职工工资
  19. SQL--超键、候选键、主键、外键的认识和区分
  20. cent os运维知识

热门文章

  1. html导出excel 隐藏部分,html导出Excel方法
  2. 【全志R329-NPU助力】Maix-Speech为嵌入式环境设计的离线语音库
  3. android中 menu的属性详细解释
  4. ASP木马提升权限的N种方法
  5. 使用知行之桥EDI系统进行OFTP连接需要准备什么?
  6. (Visual Basic)在VB2010中输出有某种规律的An矩阵
  7. Keil MDK 2020过期问题
  8. 高德地图之反地理编码、线路规划、天气查询
  9. 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败...
  10. window 10系统安装adb出现问题和解决方法