1.微信使用的开发语言和文件很「特殊」。
2.小程序所使用的程序文件类型大致分为以下几种:
3.①WXML(WeiXinMarkLanguage,微信标记语言)
4.②WXSS(WeiXinStyleSheet,微信样式表)
5.③JS(Java,小程序的主体)
6.在语言方面,小程序看似重新定义了一套标准。但实际上,它们与「前端三件套」——HTML、CSS和Java——差不太多。
7.下面,我们就来对比一下小程序开发语言和「前端三件套」有什么异同点:
8.HTML与WXML:两者差异比较大,如果之前没有接触过Android开发,可能会觉得有些头疼。事实上,WXML更像是Android开发中的界面XML描述文件,适合于程序界面的构建;而HTML则倾向于文章的展示(这与HTML的历史有关),以及互联网页面的构建。
9.WXSS与CSS:两者在语言上几乎没有差别,可以直接通用。
10.JS文件:小程序的JS文件与前端开发使用的JS几乎没有区别,只是小程序的JS新增了微信的一些API接口,并去除了一些不必要的功能(如DOM)。
11.在语言上,小程序完全向学习成本最低的前端开发看齐,但这不代表所有前端开发者都能无缝迁移。
12.如果你是从前端开发转向小程序,就需要注意这两个点:
13.HTML与WXML两种文件的构建思想差异较大,如果之前只接触过前端开发,需要一点时间才能适应WXML的编写方法。
14.虽然小程序使用的是前端语言,但不代表可以继续沿用前端的开发思想进行开发。小程序对前端开发的要求从「构建界面」升级成「开发完整应用」,前端开发需要在意识上进行转变。
15.界面构建
16.1.基本逻辑
17.WXML和WXSS两种文件是小程序界面元素声明及样式描述文件。
18.WXML最大的特点是以视图(view)的方式串联界面元素,并通过程序逻辑(AppService),将信息更新实时传递至视图层。
19.view类似于HTML中的div元素。在构建的时候,view可以被多级嵌套,view内可以放置任意视觉元素。
20.需要注意的是,元素一旦超出屏幕之外,用户就无法看到了,这与HTML有较大不同。
21.比如,我们将手机屏幕想像成一个舞台,舞台之外的演员是无法被观众看到的。
22.小程序有专门用于滚动的视图。
23.如果希望界面是一个可以自由滚动的界面(例如列表等),可以使用scroll-view视图,在WXSS中将其大小调整为整个屏幕,并设置scroll-y(上下滚动)或scroll-x(左右滚动)为true。
24.小程序中不能直接使用DOM控制WXML元素。如果需要进行数据更新,就得使用WXML提供的数据绑定及元素渲染方法。
25.还有一点需要注意的是:小程序的栅格排版系统使用的是Flex布局,它是W3C在2009年提出的一种排版标准。
26.2.绑定数据
27.对于单个字段,开发者可以使用数据绑定的方法进行信息更新。
28.绑定的数据除了在加载的时候可以更新,也可以在JS主程序中以函数形式进行更新,更新同样可以反映到界面上被绑定的数据中。
29.3.条件渲染与列表(循环)渲染
30.条件渲染适用于有意外情况提示的页面(如无法加载列表或详情时,做出提示等等)。
31.它的渲染带有触发条件,即符合条件时渲染这个页面,否则忽略或渲染另一段代码。
32.两个花括号所包含的判断条件中的变量于主程序JS代码中的data中声明。
33.若需要在界面中构建一个列表,可以使用WXML中的循环渲染,将同一元素渲染代码进行集合。循环的数据可以通过数组的方式写入data中供WXML访问。
34.渲染完毕后,渲染判断条件的变动可以影响界面变动。
35.4.模板与引用
36.WXML支持使用模板与引用减少代码体积。
37.模板是在WXML代码中对相同的代码进行复用的方式。
38.可以将多个模板写入至同一文件,并使用import在其他文件中进行引用。
39.如果需要整个页面引用,需要使用到include。
40.5.样式
41.通过WXSS样式表,开发者可以定义WXML中的元素样式。
42.WXSS与CSS代码一样,可以直接使用选择器选择元素。在WXML中也可以直接定义元素的id和class以便于在WXSS文件中进行样式定义。
43.6.用户操作与事件响应
44.由于微信使用的不是HTML,所以也不能通过添加超链接(a元素)的方式来监测用户的点击事件。
45.对于需要监听点击事件的元素,应该在WXML中使用bindtap属性或catchtap属性进行绑定。
46.除了点击一次,微信也提供按住、开始触摸、松手等事件响应。
47.在WXML中绑定好一个事件之后,就能在主程序JS中使用。
48.其他API中也有其他相应的事件,这些事件可以在微信小程序的官方文档中查阅到。
49.当需要在小程序的页面间进行跳转时,应该使用wx.navigateTo()方式。
50.需要注意的是,有关于页面层级跳转,微信将层级跳转限制到了五层。在开发时需要注意是否超过了相应限制。
51.网络访问
52.小程序支持三种请求方式。
53.一种是直接的HTTP连接请求,请求后直接返回结果,连接结束。另一种是Socket持续性连接,当一方主动关闭连接时,连接结束。
54.除了以上两种收发纯文本的连接方式,微信还提供了一个文件收发接口。小程序中录制的语音以及选择的照片都需要这个方式来进行上传。
55.通过小程序访问网络需要服务器端必须支持HTTPS安全连接,且端口号必须为443。
56.同时,小程序只能访问开发者在登记小程序时所设定的服务器地址。
57.多媒体与存储
58.若需在小程序中播放多媒体(包括音视频)或进行数据存储,不能使用HTML5中所提供的标准,必须使用微信提供的小程序多媒体播放控制接口及存储接口等。
59.关于声音的接口,有音频播放与音乐播放两种。
60.音频播放提供了播放、暂停和停止播放三种接口,不提供跳转至某个播放时间点的功能,也不能获取目前的播放进度。
61.音乐播放接口提供除以上的基础播放控制外的音乐状态检查和监听等功能。
62.小程序提供照片和视频数据交换接口。通过这个接口,小程序可以访问用户选定或拍摄的照片与视频。
63.通过音频录制和视频照片接口获得的多媒体信息是临时的,需要通过小程序存储文件接口对文件进行永久保存。
64.对于文本数据,小程序也提供了存储这类数据的接口。从诸如Android或其他app平台转向的开发者需要注意的是,小程序不提供数据库式的本地数据保存形式,而是通过「字段-值」的一对一形式进行保存。
65.硬件相关
66.小程序依托于微信,提供许多与硬件有关的API。
67.小程序可以通过API获取到以下数据:
68.系统相关信息(包括网络状态、设备型号、窗口尺寸等)
69.重力感应数据
70.罗盘数据
71.通过以上API,应该可以轻松写出「摇一摇」等互动性页面。
72.但需要注意:这些数据只能主动获取,不能通过这些数值变化的回调实时获取。
73.推送服务
74.小程序提供推送服务,可以随时向用户发送必要的通知。但请注意,推送服务只能用于通知提醒,不能用于群发。
75.在小程序中,推送服务叫做「模板消息」(之前有开发过服务号的开发者应该比较熟悉)。开发者需要在微信小程序后台登记新的模板推送消息(比如:购买成功通知等)并审核通过后,才能在小程序中使用模板消息推送服务。具体审核标准建议参考相应文档。
76.模板消息审核通过后,开发者需要先向微信服务器获取AccessToken,随后将该值、模板编号和模板中的动态变量(比如:订单号、价格等)提交给微信,由微信向用户推送通知。
77.用户信息与微信支付
78.小程序可以在用户同意的前提下获取到用户的信息。
79.首先,小程序要通过微信登录的接口,让用户授权登录。之后,小程序就可以展示并使用用户信息了。
80.在使用微信登录的时候需要注意,消息需要经过签名确认其完整性之后,方能保证数据未经篡改。
81.小程序中也可以使用微信支付。需要注意的是在发送支付请求时,需要在发送的消息中添加签名,以确认消息完整性。
微信小程序开发语言的选择-微信小程序使用什么开发语言-微信小程序需要什么语言
浏览量:3941
时间:
来源:weixin_34161083
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-
抖音再现本地生活服务,咫尺同城圈商业变现新通道
短视频成为本地生活探店网红营销变现引流的新阵地,每一位网红都渴望在短视频内“一夜爆红”。即速应用团队对多商家小程序进行升级,打造了咫尺同城圈:“同城探店营销助手”,不仅完善商家营销技巧,还助力探店网红玩转本地生活服务。 -
抖音再现本地生活服务,咫尺同城圈商业变现新通道
短视频成为本地生活探店网红营销变现引流的新阵地,每一位网红都渴望在短视频内“一夜爆红”。即速应用团队对多商家小程序进行升级,打造了咫尺同城圈:“同城探店营销助手”,不仅完善商家营销技巧,还助力探店网红玩转本地生活服务。 -
阿坝小程序代理
阿坝藏族羌族小程序代理公司有哪些?阿坝藏族羌族小程序代理平台哪个好?阿坝藏族羌族小程序代理商怎么收费,代理政策如何?下面就让即速应用产品经理jisuapp.cn来告诉你吧!