VGG 开源社区正式入选开源之夏 2024!
VeryGoodGraphics (VGG) 旨在无代码完美还原设计稿,通过自研并开源的 VGG 矢量图形格式和 VGG 渲染引擎能把设计原型作为应用快速交付。VGG 打通了从应用 UI 设计到应用研发的完整流程,使得开发者可以像素级完美还原设计稿的任何细节,并确保全平台渲染效果一致。
2024年「开源之夏」是由中国科学院软件研究所 “开源软件供应链点亮计划” 发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。

可以获得什么
-
结识图形图像领域开源社区小伙伴和技术大牛 -
获得社区导师的专业指导,与开源项目开发者深度交流 -
丰富项目实践经验,提升项目开发技能 -
为学习方向提供参考,为职业发展积累人脉 -
获得结项奖金和结项证书:通过结项考核的学生将有机会获得优秀学生证书。
面向哪些学生
本活动面向年满 18 周岁在校学生。
暑期即将毕业的学生,只要在申请时学生证处在有效期内,就可以提交申请。
中国籍学生参与活动需提供身份证、学生证、教育部学籍在线验证报告(学信网)或在读证明。
外籍学生参与活动需提供护照,同时提供录取通知书、学生卡、在读证明等文件用于证明学生身份。
/ 题目一:实现一个 SVG 到 VGG 的转换 /
VeryGoodGraphics (VGG) 是一种全新的基于 JSON 的矢量图形格式,而 Scalable Vector Graphics (SVG) 是目前应用比较广泛的基于 XML 的矢量图形格式。
目前需要开发一个将 SVG 文件转化为 VGG 格式的转换器:
VGG 格式的介绍与规范:
https://docs.verygoodgraphics.com/specs/overview
初步的框架供参考:
https://github.com/verygoodgraphics/vgg_svg_parser/
VGG 有一个官方的使用 C++ 开发的运行时,可渲染 VGG 文件:
https://github.com/verygoodgraphics/vgg_runtime/
VGG 也提供该运行时的 web 版本:
https://github.com/verygoodgraphics/vgg_web/
预期产出
完成 SVG to VGG 转换器的开发,并且能够在 VGG 中还原大部分 SVG 素材文件的渲染效果。
开发者要求
1、VGG 矢量图形格式标准(类似 SVG,但是基于 JSON 格式)
2、VGG 运行时,用于 VGG 文件的跨平台渲染与业务逻辑的执行
预期工作与产出
实现 VGG 容器的主要工作包括(但不限于):
-
为目标平台/开发框架适配图形上下文(一般是 OpenGL/GL ES 上下文,不排除 Vulkan 上下文的可能性) -
适配消息事件 -
适配 VGG 运行时的接口
特别地,因为 VGG 运行时是 C++ 实现,因此针对安卓平台,可能涉及到利用安卓 NDK 将 VGG 运行时交叉编译到适用于安卓的 ARM 二进制目标文件,将原生代码的接口封装成 Java/Kotlin 接口,最终为安卓开发者用户提供开箱即用的安卓组件。
最终完成一个开箱即用的可运行 VGG 文件的安卓组件,并提供文档与二进制包。
开发者要求
参考资料
https://github.com/verygoodgraphics/vgg_runtime

👏扫码添加小助手进交流群,欢迎社区小伙伴参与共建
更多流程规范,感兴趣的同学可以前往开源之夏官网关注:

关于 VGG
特性一:无代码完美还原设计稿
VGG 自研的开源图形引擎能渲染出高保真设计稿中的任意细节,可直接将设计稿作为用户界面,省去前端与客户端开发者使用代码去复原设计稿的开发工作,降低他们与设计师之间的沟通摩擦成本。
特性二:原生跨平台、嵌入式支持已有开发框架
VGG 通过完全或者部分嵌入的方式,支持在任意一种已有的 APP 基础上进行增量式开发,主持主流平台与框架。
特性三:脚本与 WebAssembly 支持
VGG 还同时支持平台无关的 JS 脚本与 WebAssembly 模块,在提供快速业务逻辑开发能力的同时支持高性能计算。
特性四:高度的生态兼容性
VGG 提供的 SaaS 服务目前已实现对主流设计生态的兼容(Figma/Sketch/Adobe Illustrator),并提供 Figma 插件帮助设计稿快速同步。将来还计划为开发者提供开发辅助工具,打通从应用 UI 设计到应用研发的完整流程。
-
GitHub:https://github.com/verygoodgraphics -
官网:https://verygoodgraphics.com/ -
博客:https://blog.verygoodgraphics.com/


