微信小程序在周六晚上终于正式放出了开发文档,
虽然没有内测账号无法在公众平台上内测,
但根据开发文档以及开发工具的模拟器也终于可以探一下庐山真面目了~
根据之前参与的一个尝试用web技术编程NativeUI项目的一些经验及遇到的问题,
对微信小程序参照开发文档及模拟器中的一些尝试,总结下看到的一些特性吧
整个小程序应用由多个Page
(页面)组成,先从Page
开始:
Page
WXML
(HTML
变体) + WXSS
(CSS
变体)) + 逻辑层(跑在JsCore
里的JavaScript
)Mustache
)风格的“数据绑定”
其中模板功能方面具体来看:
Mustache
)即{{ }}中setData
接口native
端(而非js端)完成,因此数据对象也未与js环境共享、需要手动调用接口设置才能更新Mustache
)中将逻辑层提供的数据进行重组,构成新的数组或对象以方便使用WXSS
文件通过选择器指明样式,也支持元素内联style
属性进行更高优先级的覆盖flex
为主的布局css-layout
提供的flex布局基础之上,结合native的文字排版提供了支持折行/多行的行内环境,从而支持了display: inline
、display: inline-block
,如下图:TextView
的color
),并额外提供了边框与背景的绘制(如同@袁炜之前在o2o框架项目中所做)、子元素对父元素的样式继承等element
、class
、id
及逗号选择器::before
与::after
两个伪元素选择器逻辑层到视图层的控制完全通过“数据绑定”,视图层至逻辑层的反馈则仅有视图元素的事件(没有任何类似DOM
的对象模型/接口)
WXML
中注册事件回调方法HTML
中事件的冒泡阶段、但未模拟事件捕获阶段bindxx
为不截获冒泡,而通过catchxx
为截获印象比较深刻:组件相当地全面。看上去似乎是做了充分的准备、也相当地重视、真的预备要用小程序掀起一场波澜
View
、Text
、Image
、Toast
、ScrollView
等swiper
(轮播组件)、progress
(进度条)、icon
(图标)、loading
、navigator
等form
、input
(支持text
, number
, idcard
, digit
, time
, date
)、checkbox
、radio
、button
、label
(同样具有代理焦点的功能)checkbox-group
、radio-group
、更适合移动场景的picker
(列表选择器 支持普通列表,时间选择器,日期选择器)、slider
(滚动选择器)、switch
(开关)、action-sheet
(上拉菜单)同视图组件一样,也很全面。
WebSocket
补充一下将Page
(页面)组织成完整的小程序应用:
JS
、WXML
、WXSS
等文件Page
)的路径navigator
组件进行页面跳转data-
开头的自定义属性,值可以在事件发生时随事件对象一同传递至回调方法中DOM
接口,却可以在事件处理时获取到视图相关的额外信息change
等事件、touch
系列各事件、tap
、longtap
事件也全面支持09月23号在“微信公众平台”正式放出“公众平台小程序文档和工具”的公告
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123