加载中 ...
首页 > 新闻资讯 > 经验心得 正文

王跃:关于微信小程序的技术,也许你想错了

2019-07-13 01:54:48 来源:沈阳小程序开发 作者:沈阳软件开发

2017年1月9日,微信小程序正式发布。在近一年里,小程序一直在坚定的向前走。它的理念和模式受到广泛认可,也被其他人所模仿。

在微信小程序尚在内测之时,外界对它所采用的技术就有很多猜测,正式发布的小程序解答了人们的一些疑惑,但有些问题官方并未正式对外公开说过.InfoQ对微信小程序相关项目负责人王跃进行了采访,了解了一些开发者关心的问题。

受访嘉宾介绍

王跃(微信号:springwang),拥有10年以前开发经验架构和开发。对小程序底层架构原理有深入的研究和理解,并且有腾讯多款小程序开发实战经验。

相关的:王老师好,您在负责小程序前端之前,做过哪些事情

王跃:在微信小程序项目之前,我负责过腾讯互娱游戏高级营销系统的前端架构和开发,它承载腾讯几百款游戏业务的日常营销活动,另外还有腾讯道聚城前端架构和开发,覆盖像王者荣耀,LOL,CF游戏道具的交易,在腾讯之前我还负责过搜狐白社会SNS的前端核心框架和模块开发,新浪微博的前端开发工作。

XX InfoQ:当小程序没有发布时,传奇小程序使用了类似RN的技术。发布后,人们发现它仍然在WebView中运行。我不知道实际情况?

王跃:从技术实现层面来看,无论是小程序,RN还是Weex,都有共性,比如JS和Native等通信机制,比如JS直接调用本机组件的渲染,比如在iOS平台上,小程序和RN使用JavaScriptCore来执行JS。但是,小程序和RN与原始设计和响应方案不同。我们知道小程序的场景主要是在当前的实际物理场景中。用户可以立即使用它。完成后,整个交互非常轻量级,不涉及特殊。复杂的交互逻辑,因此设计尽可能简单。首先,系统的底层框架很简单。其次,开发人员易于开发,用户再次使用简单。因此,小程序的大部分UI组件仍由H5呈现,而不是像RN那样设计。原生UI组件。

当然,小程序本身也采用Native方法来解决某些组件性能的问题,因此解决方案的选项主要基于实际场景考虑,而不是纯粹的技术考虑。

另外,准确地说小程序不仅可以在Webview中运行,还需要区分不同的部分。这将在我的分享中详细解释。

InfoQ:在Android上,小程序正在X5引擎上运行。 X5团队是否对小程序有一些特殊的优化,或者添加功能?

王悦:微信 Android版浏览服务确实是腾讯浏览器团队提供的X5引擎。在性能方面,小程序和X5团队之间始终存在沟通和协调。双方都试图优化并不断改善用户体验。

InfoQ:当我第一次发布它时,我发现小程序的一些代码有点像Vue。单向数据流让人想起React。您在开发小程序核心框架时的想法是什么?

王悦:这与问题2类似。首先,小程序和Vue,React本质上是不同的。 小程序需要特定的Native层支持,而底层函数更强大,而Vue和React运行在通用WebView之上。不需要特定的Native支持,但为什么你认为它会有些相似?它主要意味着在数据绑定,事件绑定等方面会有一些相似之处。当然,这些技术并不好或坏,主要是因为我们解决了现场下的问题。

InfoQ:iOS和Android平台上的小程序之间存在一些差异。例如,Android可以在主屏幕上放置小程序图标。有些人发现微信小程序在Android下有一个单独的进程。 小程序是否更多探索Android?

王悦:Android可以放在主屏幕上,iOS不是操作系统级别的主要限制。至于Android下的操作模式,主要操作是通过单独的Activity进行视图。该进程设置为一个单独的进程,主要是为了确保小程序的运行内存。与Native没有直接联系。

还提到了上一个问题。 小程序本身有几个以Native模式实现的组件。主要目的是确保小程序的执行效率,并实现更好的用户体验。 Native组件不是Android,Android和iOS的平台。所有这些都必须要做,后续是否会有更多Native实现,或者在使用Web实现时实际组件是否符合我们的用户体验标准。

InfoQ:有人发现小程序前段时间有自己的脚本格式WXS。它是小程序新的DSL吗?

王跃:目前,WXS对于小程序开发并不是必需的。其主要目的是引入一种新技术实现,以增强WXML的数据处理能力。实际解析的语言规范是JS,并没有引入新的语法。 JS已经做了上层的打包和限制,所以学习基本没有成本,一般都了解开发文档就能上手,这里WXS和DSL没什么关系,没有对比。

InfoQ:小程序和PWA可以说代表移动网络的两种不同的开发路线。从别人的角度来看,小程序更实用,但人们也期望小程序更开放。你在这方面怎么看?

王悦:我在这里谈的是个人观点,而不是官方观点。任何模式都旨在解决特定环境中的特定问题,因此PWA具有其应用场景,而小程序具有小程序应用场景。两种模式都有其优点和局限,两种模式之间的差异实际上是应用程序开发

ad.jpg

就像我们当前的Web和Native一样,Web提供了相对常见和多功能的功能(大多数功能和基本体验),而个性化定制(更复杂的功能和交互式体验)可以充分利用当前平台的功能,I个人觉得这两种模式将永远存在,关键是看它是否能为用户提供价值,但在未来,这两种模式会有越来越多的整合,就像网络和Native的融合产生Hybird模式一样。想象一下,将来会有一个新模型可以拥有更一般的运行场景(提供核心功能),如PWA,同时根据当前的操作环境访问自定义的高级功能,实现一次写入,随处运行A美丽的愿景。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。