小程序开发主要使用JavaScript作为主要的开发语言。JavaScript在小程序中的运行并不是像HTML5那样在浏览器里执行的,而是在一个定制化的JS解释器里运行。这种设计使得小程序的逻辑层和渲染层是分开的,逻辑层运行在JSCore中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如jQuery、Zepto等,在小程序中是无法运行的。同时,JSCore的环境同NodeJS环境也是不尽相同,所以一些NPM的包在小程序中也是无法运行的。
除了JavaScript,小程序的开发还会使用CSS和HTML进行样式和页面布局的设计。对于一些复杂的后台操作或服务端开发,还可以使用Node.js、PHP、Java等后端语言进行开发。
小程序开发过程中需要面对的是两大操作系统iOS和Android的微信客户端,以及用于辅助开发的小程序开发者工具。在iOS上,逻辑层使用JavaScriptCore,渲染层使用WKWebView;在Android上,逻辑层使用V8,渲染层使用chromium定制内核;在小程序开发者工具上,使用NWJS和Chrome WebView。
总的来说,小程序的开发与普通的网页开发有很大的相似性,对于前端开发者而言,从网页开发迁移到小程序的开发成本并不高。然而,由于小程序的特殊设计,使得它在一些方面与普通的网页开发存在着一些区别,这也为小程序的开发带来了一些新的挑战和机遇。