开发一个 IDE 很难么?这或许是件很难的事情,但当咱们参考 VSCode 的技术构架来看,整个开发流程就会平滑顺畅不少,从内核开发、代码编辑器、视图结构到插件系统,在这整个技术构架中咱们能够看到不少一个 IDE 开发中须要注意的方方面面。若是你对 VSCode 深刻研究过,相信能够从中颇受启发,在此以前不妨先来看看本期推荐。
天高地迥,觉宇宙之无穷
VSCode 是当下很是流行的微软开源的代码编辑器,它在知足多样性插件化生态的同时保证了软件的健壮和性能,这得益于其优秀的插件化内核架构设计。本文做者是蚂蚁金服云凤蝶团队成员,文中对 VSCode 的关键技术架构做了深入的剖析和理解,包括内核分层隔离与扩展机制、依赖注入、命令系统、插件化架构等等,若是你正在打造一个可扩展的软件系统,这篇解读很是值得去学习参考。其实,VSCode 的优秀架构离不开其专一而克制的产品定位——“编辑器 + 代码理解 + 调试”,其余的内容交给社区生态来扩展。最完美的设计,每每是精简到极致,而没法再作减法了。前端
微内核(插件化)架构被普遍应用于软件系统设计中,譬如 Vue 的插件机制 Vue.use(Plugin)
就是一个简单的插件化设计。微内核架构既能知足灵活扩展的特性,又不影响系统的稳定性。本文基于西瓜视频播放器项目来阐述微内核架构的实践应用,在播放器中,小到一个播放按钮大到一项直播功能特性均可以理解为一个插件模块。做者贴合简练的代码,讲述了插件系统中插件管理、链接和通讯的全过程,很是通俗易懂。node
这个合辑收集了近期较有创意的 UI 交互转场动效,能够看到许多不一样于寻常转场交互的想法,好比波纹、图形变形与转场动画的结合,又好比利用弧形色块的变化进行的转场效果等等,目前已发布了8期内容,有网页动效设计需求的设计或开发均可以浏览参考,同时感觉一下优秀动效设计中的缓动曲线。算法
针对 AR 开发场景中景深算法的 Depth API 正式发布。有了这个 API,开发者在支持 ARCore 的 Android 设备上开发 AR 场景时能够更准确地处理虚拟物体与现实物体的遮挡关系,彻底杜绝虚拟物体与透视关系不符的“贴图”问题,使得虚拟物体沉浸效果更为真实。文中还有更多的应用场景,并提供了海量动图演示。编程
Flutter 的目标是支持尽量多的平台和设备,咱们已经知道它能够很好地在 iOS 和 Android 设备上运行了,那么它对桌面端的支持状况如何呢?Tim Sneath,Flutter 产品经理,在最近的一篇博文中分享了他们最新的进展,聊到了他们支持了打包 Windows 和 Linux 应用了,如何调用不一样桌面系统的原生组件,以及更新插件模型来方便开发者更容易地支持不一样的平台等工做。Tim Sneath 还分享了有开发者已经利用 Flutter 发布了最新的桌面端应用,你也能够跟随本文,尝试一下,看看 Flutter 桌面端可否知足你的需求。
译文:https://jelly.jd.com/article/...架构
Easy-Monitor3是一款基于 Node.js Addon实现的开源内核采样以及收集工具,提供完整的Web UI支持(APM),支持私有化部署,全平台支持。可用于内存泄露分析,性能瓶颈分析,监控告警等。框架
AutoCannon是一款使用node编写的压测工具,能比wrk生成更多负载,市面上相似的产品不少,老牌的ab,带有图形界面的soap ui等。不过AutoCannon能够方便的进行命令行调用,甚至还能在代码内调用,这对于写压测脚原本说就很是方便。另外它还能结合node clinic 一块儿使用,定位性能问题无往而不利。编辑器
沧海拾遗,积跬步以致千里
看完 Depth API 这样的 AR 后浪,不知道你有没有心动呢?若是你也想快速上手 AR,不妨来试试这样一个简单的效果,让你快速对 Web AR 有一个了解,这些基础能帮助咱们在 AR 这条路上走的更远。工具
Web 中有不少常见的 2D 碰撞检测,掌握这些实用的小技巧,在特定需求的页面中会有更为出色的体验。你对这些方法熟悉么?还不了解的话能够进来试试看哦~「内含基于 Canvas 的运行实例、图片说明」性能
「蒲公英」期刊,每周更新,咱们专一于挖掘「 基础技术、 工程化、 跨端框架技术、 图形编程、 服务端开发、 桌面开发、 人工智能」等多个大方向的业界热点,并加以专业的解读;不只如此,咱们还精选凹凸技术文章,向你们呈现团队内的研究技术方向。抬头仰望,蒲公英的种子会生根发芽,如夏花绚烂;格物致知,咱们登高远眺、沧海拾遗,以求积硅步而至千里。学习
欢迎关注凹凸实验室博客:aotu.io
或者关注凹凸实验室公众号(AOTULabs),不定时推送文章: