专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

武汉小程序开发涉及的前端知识,以及自己的一些体会

来源:小易整编  作者:小易  发布时间:2022-05-17 01:23
摘要:这次把之前第一次写和小程序开发感受小结一下。本文不是写一个小程序开发教程,这种按步骤的教程网上有很多,不需要重要写了。我主要想谈一下做小程序开发应该储备的前端知识,以及自己的一些体会。...

这次把之前第一次写和小程序开发感受小结一下。本文不是写一个小程序开发教程,这种按步骤的教程网上有很多,不需要重要写了。我主要想谈一下做小程序开发应该储备的前端知识,以及自己的一些体会。

小程序开发涉及的前端知识

我的总体理解是:微信小程序是一个裁剪过的Web界面开发框架。首先要知道的是,微信小程序是一种Web程序,它的开发工具就叫“微信web开发工具”。(对,那个web是小写的,业余!)然后,小程序开发的组件也都是Web代码,如:.js、.json、.wxml和.wxss。虽然大多都是微信定制(裁剪)过,但是基本用法和标准Web技术是一致的。

微信裁剪这个Web技术栈是可以理解的,Web技术又多又乱,微信不可能把自己全部交出去的。所以,小程序定义为一个Web界面开发框架也挺好的。毕竟,现在后台技术已经非常成熟了,各种云技术平台越来越多,门槛越来越低,瘦客户端设计也深入人心,面向消费用户最重要的一环也就是界面了。很多移动App不也就只是一个界面而已,大部分计算都在服务器上。

按照微信小程序的开发文档,开发时首先要理解的是:框架设计。提到界面框架,大家尽可能联想一下各种MVC框架,例如Java Web开发常用的Struts、Spring MVC等。框架要处理的最重要元素就是:数据。数据到达之后(大多数实际应用来自于服务器),小程序用简单的语法绑定到界面上,像这样:

Hello {{name}}!

注意:{{ }}就是绑定一个变量值。这个跟JSP标签和PHP模板像不像?不能再像了。如果你之前懂JSP和PHP,就知道除了直接绑定变量,一定还可以绑定简单的逻辑、循环。没错,微信小程序也一样支持。具体看文档吧。

各种编程语言和开发平台所解决的都是用户需求,只要将一种技术精通了,理解其他技术和语言也不会太难的。当然,多学习一些语言,能够帮助你自己去理解不同语言之间的相通点,而不是靠别人帮你分析。另外,越往上层的编程语言,相通的地方越多,因为它们越靠用户需求了。

框架的第二个重要概念是:页面。因为小程序就是一个界面开发框架,所以页面自然是它的核心部分。基本上可以这样认为:一个页面就是一个功能。然后,一个功能需要涉及到页面设计、数据展示、数据动态更新等方面,小程序把所有这些方面定义为组件,同一个页面的所有组件都放在同一个目录中(还是一个小沙箱的概念)。而不同页面之间的切换(生命周期),则由框架来处理。

// Register a Page.Page({

data: helloData,

changeName: function(e) { // sent data change to view

this.setData({

name: 'MINA'

})

}

})

那么,一定要好好理解小程序开发的组件。这其实也是所谓框架必然提供的部分,标准HTML是这样(Web组件),各种MVC框架是这样(M、V、C),甚至也Android这样的移动平台也是这样的(四大组件)。开发者使用小程序的组件设计一整个页面(.wxml)。Web开发者肯定很熟悉XML,HTML其实也是一种弱XML,当然如果要用强XML,那就是XHTML了。这样我们就知道为什么微信还是Web了。如果还熟悉JSP Tag或Struts等,理解它就更轻松了。

微信把所有支持的界面控制都封装成了一个个用XML标签表示的组件。这种做法真的很普遍、很常见。我之前在企业打工时,公司开发的防火墙管理系统就是用XML来构建Java Swing界面的。现在一样用XML构建界面的Android,最熟悉不过了。XML支持严格的语法检查、可以表示任何结构的数据,一直都是最常用的Web技术之一。另外,Web界面都是树状结构,小程序也是一样的。

Content goes here ...

组件就是Web内容,界面当然还需要外观设计:样式。小程序的样式表文件扩展名为:wxss。大概意思是微信扩展的CSS吧。我初步写的小程序,感觉基本上直接使用标准CSS。开发工具上会有代码提示,里面有一些浏览器特殊支持CSS样式,如 -moz-、-ms-和-webkit-等。小程序用的浏览器内核应该是很新的,所以CSS的支持应该很好的。

编程代码最多的就是使用小程序框架API的部分:.js文件。这个可以看作是MVC模式中的控制器,采用JavaScript语法(也是必然的)。除了做页面流转(路由,学过Node.js应该很熟悉)、数据处理之外,这里还可以调用微信小程序提供的各种API,如:HTTPS请求(注意:不是HTTP)、文件操作、缓存、位置、设备、界面(Canvas)及微信开放接口等。反正,API就是微信开放使用的各种功能,以及来自于微信的用户数据。我的第1个小程序只使用了缓存和HTTPS请求。本来想做用户登录的,但是这个部分开发文档要求服务器做相应的处理,步骤比较多,所以暂时没有写。总的来看,只要掌握JavaScript开发,最好是开发过Node.js,写这些框架代码是很轻松的事情。

wx.request({

url: 'test.php', //仅为示例,并非真实的接口地址

data: {

x: '' ,

y: ''

},

header: {

'content-type': 'application/json'

},

success: function(res) {

console.log(res.data)

}

})

最后,“微信web开发工具”确实做得不错,也进一步拉低了小程序开发的门槛,而且更新频率很快。感觉小程序团队是不是在加班?一天会更新几次(Mac版本)。

所以说,微信小程序并没有带来很多新的学习曲线,基本能力要求还是Web开发:HTML、CSS和JavaScript。放一张前端开发修炼秘籍吧,供大家自己练:

https://github,com/kamranahmedse/developer-roadmap

不过,小程序会涉及很多的后台交互,所以也有必要去学习一些后端的技术,不精通也至少要了解一下。最方便的就是学Node.js了,当然Java、PHP的常用框架也是可以学的,如:Spring MVC等。虽然我早就不用这些框架了,但是学习还是有必要的。学习这些后台技术有助于前端做好交互方面的开发。例如,上图最下面(最高深)的部分,还是设计模式。设计模式是前后端通用的,不过后台应用的时间更长,可以参考的东西好找一些。好吧,先写到这里吧。



本文地址:微信小程序开发频道 https://www.hkm168.com/web-wxxcx/1934.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们处理,谢谢!


微信小程序开发
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)简介及其在图片压缩中的示例

    奇异值分解(SVD)是一种用于矩阵分解的方法。它将一个矩阵分解为三个矩阵的乘积,分别是左奇异向量矩阵、右奇异向量矩阵和奇异值矩阵。SVD在数据降维、信号处理、推荐系统等领域广泛应用。通过SVD,我们可以将高维数据降低到低维空间,从而提取出数...

  • 用U盘轻松实现一键重装系统的小白装机教程

    用U盘轻松实现一键重装系统的小白装机教程

    在现代社会,电脑已经成为人们生活中不可或缺的工具。然而,由于各种原因,我们有时候需要重装电脑系统来解决一些问题或提升性能。但是,对于一些小白用户来说,重装系统可能是一项困难的任务。因此,本文将介绍一款小白一键重装系统的u盘装机教程,帮助小白...

  • 因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有哪些

    因特网能提供的最基本服务有:1、www服务;2、电子邮件e-mail服务;3、远程登录telnet服务;4、文件传输ftp服务;5、usenet网络新闻组服务;6、电子公告牌服务。本教程操作环境:windows7系统、DellG3电脑。因...

  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • 总结CreateJS的详细介绍

    总结CreateJS的详细介绍

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验。掌握了CreateJS可以更方便的完成HTM...

  • 修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代

    修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代码 0X80070032、0X80070424 或 0X80070005

    haloinfinite(campaign)是一款第一人称射击视频游戏,于2021年11月推出,可供单人和多用户使用。该游戏是halo系列的延续,适用于windows、xboxone和xbox系列的用户x|s。最近...

  • 有没有录制电脑屏幕的方法

    有没有录制电脑屏幕的方法

    电脑屏幕有录制的方法吗有两个方法一是用win10电脑自带的录屏软件来录,打游戏的时候按一下【win+g】就行了二是用其他的录制软件来录制,比如“迅捷屏幕录像工具”,操作方法如下:1、首先在电脑上将这个工具下载下来。下载完成后打开工具,主页...

  • 周排行
  • 月排行
  • 年排行