GCanvas 是由淘宝开发的针对移动设备的跨平台渲染引擎。 它使用 C ++ 编写,基于 OpenGL ES,可为 Javascript 运行时提供高性能的 2D / WebGL 渲染。它也具有类似浏览器的画布 API ,因此使用起来非常方便和灵活,尤其适用于 Web 开发人员。
GCanvas 支持 Android 4.0+(API 14)和 iOS 8.0+ 。支持 Weex 和 ReactNative 等混合框架。 它还可以利用大多数设备上的硬件加速,使得开发者可以使用 Javascript 以非常高的帧率绘制场景。
Demo
<template> <div> <gcanvas v-if="isWeex" ref="canvas_holder" v-bind:style="{width:width,height:height,backgroundColor:'rgba(255,255,255,1)'}"></gcanvas> <canvas v-if="!isWeex" ref="canvas_holder" v-bind:style="{width:width+'px',height:height+'px',backgroundColor:'rgba(255,255,255,1)'}"></canvas> </div> </template> <script> const isWeex = typeof callNative === "function"; const dom = weex.requireModule("dom"); import { enable, WeexBridge, Image as GImage } from "gcanvas.js"; let EnvImage = isWeex ? GImage : Image; function run(canvas, { requestAnimationFrame }) { var img = new EnvImage(); let cxt = canvas.getContext('2d'); img.onload = function(){ cxt.drawImage(img, 0, 0, img.width, img.height); } img.src = 'https://c1.staticflickr.com/3/2388/5800134409_83345951ed_b.jpg'; } export default { data() { return { isWeex, width: 750, height: 980 }; }, mounted: function() { const start = () => { var ref = this.$refs.canvas_holder; var size = isWeex ? { width: parseInt(this.width), height: parseInt(this.height) } : { width: parseInt(ref.clientWidth), height: parseInt(ref.clientHeight) }; if (isWeex) { ref = enable(ref, { debug: true, bridge: WeexBridge }); } ref.width = size.width; ref.height = size.height; run(ref, { requestAnimationFrame: isWeex ? setTimeout : requestAnimationFrame }); }; setTimeout(function(){ dom.getComponentRect("viewport", e => { this.height = e.size.height; this.isReady = true; setTimeout(start, 1000); }) }, 50); } }; </script>
GCanvas 提供了一套类似于 H5 Canvas 标准的 JavaScript API。基于这套 API 可以方便的去做图形绘制、动画渲染等,开发的体验与 H5 Canvas 是完全一样的。主要解决移动设备H5移动应用开发2D 3D渲染效率低下的问题。核心部分使用C++实现,支持基于ReactNative和Weex等Hybrid架构的跨平台应用方便的集成。 GCanvas Android
我们公司本来是开发一个项目配置1个后端,1个前端,1个andorid,1个ios,现在大环境不好,我感觉公司有难处,我就跟公司说,我可以包揽一个项目,前端后端移动端一个人干了,这样可以公司省点钱。 前端后端肯定没有什么问题,移动端我没开发过,不过我感觉这个东西都是基于事件驱动的,点击一个按钮触发一个事件,没啥区别。我就是想问问,哪一个移动端框架是除了native最稳定的,能满足最多事件或者应用场景
多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。
我有一个在Android Studio上从头开始的项目。布局编辑器工作正常。添加Google Play服务库后,现在当我打开布局XML文件时,在“设计”选项卡中出现以下错误:“渲染问题:加载平台渲染库失败” 在文本选项卡中,my TextView组件的所有属性都有一个警告“未知属性android:[…]”其中[…]是正在声明的属性。 有人知道如何解决这个问题吗?
渲染引擎用于渲染内容。 概要 hexo.extend.renderer.register(name, output, function(data, options){ }, sync); 参数 描述 name 输入的扩展名(小写,不含开头的 .) output 输出的扩展名(小写,不含开头的 .) sync 同步模式 渲染函数中会传入两个参数: 参数 描述 data 包含两个属性:文件路径 pat
字体渲染引擎的工作主要是字体文件操作和文字渲染,LCUI 将其抽象成了 LCUI_FontEngine 接口,使得 LCUI 的字体渲染引擎可被切换和扩展。 目前基于该接口实现的引擎有内置引擎和 FreeType 引擎,接下来我们再深入了解它们。 内置引擎 内置引擎是 LCUI 初始化的第一个引擎,它主要用于在无其它可用引擎的情况下加载预置的字体位图数据,以确保界面中的文字能够被渲染出来。 内置引
我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi
作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)
说明 由于在跨端开发中,必不可少的会遇到不同端需要有不同实现的情况。参考滴滴chameleon中的多态,megalo中实现了类似的跨平台兼容方案。需要使用时,请保证@megalo/target的版本号大于或等于0.7.2。 js的跨平台兼容 megalo中下面两种形式的引用会被特殊处理: [path-to-name]/[name]/index.mpjs [path-to-name]/[name]