從技術(shù)角度分析微信小程序開發(fā)(微信小程序開發(fā)的技術(shù)路線)
本篇文章給大家談?wù)剰募夹g(shù)角度分析微信小程序開發(fā),以及微信小程序開發(fā)的技術(shù)路線對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、寫給Android開發(fā)者看的『微信小程序和Android開發(fā)的對(duì)比』
- 2、微信小程序開發(fā)主要用到什么技術(shù)
- 3、校園社團(tuán)小程序技術(shù)性分析說明怎么寫
寫給Android開發(fā)者看的『微信小程序和Android開發(fā)的對(duì)比』
微信小程序近期可謂是動(dòng)作頻出,僅最近新增的能力就有:
種種跡象表明,微信對(duì)小程序的期望值是很大,所以在它推出的幾個(gè)月效果沒到達(dá)預(yù)期的情況下,之前的很多『克制』也就逐漸變成『放肆』了 —— 不過不管小程序以后的發(fā)展到底怎樣,對(duì)我們開發(fā)者來發(fā),多了解一些總是沒有壞處的。
他山之石,可以攻玉。
對(duì)于是技術(shù)人來說,多了解一些不同的技術(shù)、不同的開發(fā)模式、不同的架構(gòu)思想,提高技術(shù)『廣度』,對(duì)于自己的成長是十分必要的。
所以,本文就是從一個(gè) Android 開發(fā)者的角度,從項(xiàng)目工程方便切入,來分析一下『微信小程序』跟『Android App』開發(fā)上的一些異同。
『微信小程序』開發(fā)是一個(gè)相對(duì)較新的技術(shù),希望通過本文,能讓你對(duì)它多一些了解。
因?yàn)閮?nèi)容是從Android開發(fā)的角度來談的,所以我假設(shè)你已經(jīng)對(duì) Android 開發(fā)比較熟悉了。并且對(duì)微信小程序的開發(fā)也比較感興趣,如果要是再能有些 javascript、css 的基礎(chǔ)的話那就更好了!
Android 開發(fā)我們已經(jīng)比較熟悉——
作為對(duì)比,進(jìn)行微信小程序開發(fā)所用的語言是這些——
wxml (WeiXin Markup Language) 基本約等于是 xml。微信之所以沒有直接使用 xml ,可能是為了以后擴(kuò)展方便一些(野心很大)。
同理, wxss (WeiXin Style Sheets) 基本約等于是 css。也是微信擴(kuò)展了一些功能,比如統(tǒng)一的尺寸單位 rpx 。
對(duì)于 Android 來說,對(duì)于頁面的描述基本上在 xml 中定義的,比如:
這是一個(gè)簡單的典型的示例,這個(gè)文件就是描述了兩部分內(nèi)容:
some.wxss:
很明顯可以看出:wxml 是負(fù)責(zé)了 頁面結(jié)構(gòu) 的展示;而 wxss 則負(fù)責(zé)了對(duì) 頁面樣式 的定義。
這種把結(jié)構(gòu)和樣式分離的做法,其實(shí)是延續(xù)了網(wǎng)頁開發(fā)中的習(xí)慣(html + css)。
這樣做的好處起碼有兩個(gè):
——看起來還是挺簡單的結(jié)構(gòu):
這三個(gè)文件用以描述小程序 app 相關(guān)的內(nèi)容,他們的命名是固定這樣的,位置也固定是在根目錄下。
app.js 基本相當(dāng)于 Android 中的 Application 類,文件中主要是有一個(gè) App() 函數(shù),來進(jìn)行小程序的初始化操作。
app.json 的作用跟 Android 中的 AndroidMainifest.xml 文件很相似 —— 都是靜態(tài)化的配置文件。
app.wxss 定義全局的樣式 —— 其定義的樣式會(huì)作用于每個(gè)頁面。比如在 app.wxss 中加入:
就可以給所有的 text 控件添加 5px 的 padding 。
當(dāng)然,頁面本身的 xxPage.wxss 可以定義局部樣式來覆蓋全局樣式。
根目錄下的 utils 文件夾中有一個(gè) util.js 文件,這個(gè)故名思意,是類似于 Java 中的一些工具類的存在。
utils 文件夾其實(shí)是一個(gè)非必須的結(jié)構(gòu),而它之所以出現(xiàn)在官方的 HelloWorld 工程中,是作為一個(gè)代表,表明了開發(fā)者在這里是可以自定義新的文件夾和結(jié)構(gòu)的。微信小程序作為一個(gè)使用 js 來開發(fā)的平臺(tái),是可以使用許多第三方的 js 庫的,對(duì)于這些第三方庫,以及其他的圖片資源等,都可以放到自定義的文件夾中。
pages 文件夾下包含兩個(gè)子目錄:index 和 logs ,兩個(gè)目錄的結(jié)構(gòu)都是基本一樣的,都是包含四個(gè)相同主名稱的文件: xx.js、xx.wxml、xx.json、xx.wxss 這幾個(gè)文件。
這樣的一個(gè)典型結(jié)構(gòu)表明它是一個(gè)小程序的頁面,四個(gè)文件的作用分別是:
在視圖的動(dòng)態(tài)顯示上,微信小程序使用了 數(shù)據(jù)綁定(data-binding) 的方式。
如果你之前使用過 AngularJS 或者 Vue.js 等這些流行的 js 框架,那么你肯定對(duì) 數(shù)據(jù)綁定 并不陌生。它是一種把一個(gè)控件的屬性綁定到某個(gè)數(shù)據(jù)對(duì)象(view-model)的屬性的方法,這樣在改變數(shù)據(jù)對(duì)象屬性的時(shí)候,所對(duì)應(yīng)的控件屬性也就會(huì)相應(yīng)變化 —— 在開發(fā)中,這種方式會(huì)使得對(duì) View 層的顯示控制變得十分簡單、自然。
基于此,軟件工程的流行架構(gòu)方式也在之前的 MVC 、 MVP 之外,又多了一個(gè) —— MVVM(Model-View-ViewModel) 。
數(shù)據(jù)綁定 這種方式現(xiàn)在是如此的流行,以致于 Android 官方都出了一個(gè) [Data Binding Library] ( ) 來支持?jǐn)?shù)據(jù)綁定,但是由于成熟度等原因,目前還并沒有成為主流,Android 中的主流視圖顯示方式,還是通過開發(fā)者手動(dòng)給每個(gè)控件 set 數(shù)據(jù)。
—— 單從這一點(diǎn)上看,微信小程序的開發(fā)模式是比原生 Andorid 要『先進(jìn)』一些的~ ??
小程序雖然是和前端 H5 頁面一樣是用 js 來開發(fā),但是由于它最終運(yùn)行的平臺(tái)不再是瀏覽器,而是和 App 的表現(xiàn)幾無二致,所以頁面的生命周期也是和 App 差不多的。
一個(gè)小程序頁面的典型生命周期如下:
對(duì)比一下 Android 的 Activity 生命周期 :
微信小程序的頁面生命周期稍微簡單一些,但主要的思想跟 Activity 生命周期基本是一致的。
小程序的官方 IDE 是微信自己出品 微信Web開發(fā)者工具 ,它內(nèi)置了一個(gè)小程序的運(yùn)行環(huán)境,本質(zhì)上是基于 Chrome 內(nèi)核的一個(gè)瀏覽器框架,算是一個(gè)模擬器了。
——它雖然跟 Android 的各種高大上的模擬器相比起來略顯簡陋,但是基本該有的功能也基本都有(斷點(diǎn)、Log、網(wǎng)絡(luò)監(jiān)控等),而且由于是基于瀏覽器內(nèi)核的頁面 DOM 解析,所以運(yùn)行的速度也是像瀏覽器打開網(wǎng)頁一樣流暢,不會(huì)像 Android 模擬器那樣對(duì)系統(tǒng)資源要求很高。
另外,在綁定了開發(fā)者賬號(hào)之后,也可以用手機(jī)進(jìn)行真機(jī)調(diào)試來調(diào)試小程序,所以也能在上線前用不同的機(jī)器來進(jìn)行充分的兼容性測試。
總體來說,小程序作為一個(gè)新的形態(tài),從開發(fā)的角度,它可以算作是一個(gè)【Native開發(fā)】和【H5開發(fā)】的結(jié)合,它吸收了原生開發(fā)和 H5 開發(fā)的優(yōu)點(diǎn)。對(duì)于前端開發(fā)人員和原生開發(fā)人員來說,都可以在微信小程序中找到許多熟悉的東西。再細(xì)節(jié)的許多點(diǎn)這里就不在贅述了,大家如果有興趣,可以自己上手去體驗(yàn)一下。
綜上,自然也就有兩種人特別適合去做小程序的開發(fā)——H5的前端開發(fā)人員,以及之前的 Android/iOS 原生 App 開發(fā)者。
微信小程序的開發(fā)總體來說是很簡單的。
—— 對(duì)于前端開發(fā)者來說,了解一下原生 App 的一些相關(guān)思想即可,這些工作其實(shí)只要讀一遍小程序的開發(fā)者指南基本就差不多了。
—— 而對(duì)于原生開發(fā)者來說,只要稍微補(bǔ)一下 js 的相關(guān)知識(shí)(html/css),也基本就差不多可以上手去做了。如果你之前恰好已經(jīng)有過一些 js 的使用經(jīng)驗(yàn),那就不用多說了,花半個(gè)小時(shí)看一下小程序的文檔,直接上!
關(guān)于作者 :
微信小程序開發(fā)主要用到什么技術(shù)
1.前端基礎(chǔ),如JS、HTML、css
2.一門后臺(tái)語言,如PHP、JAVA,后端什么語言都可以,自己定?!军c(diǎn)擊查看小程序開發(fā)底價(jià)】
3.學(xué)習(xí)微信接口文檔如果用到了微信本身相關(guān)功能,如支付、分享等功能,加個(gè)微信jssdk就可以了。
4.還需要美工,保證制作的小程序有美感。
想要了解更多有關(guān)小程序開發(fā)的相關(guān)信息,推薦咨詢豬八戒網(wǎng)。豬八戒網(wǎng)成立于2006年,是中國領(lǐng)先的企業(yè)服務(wù)平臺(tái),服務(wù)交易獨(dú)角獸企業(yè)。豬八戒網(wǎng)現(xiàn)有注冊用戶2800萬、在全國布局線下數(shù)字化創(chuàng)業(yè)園區(qū)超過100個(gè)。十余年來,累計(jì)有10萬余個(gè)人通過平臺(tái)孵化成長為公司,超過100萬人通過平臺(tái)實(shí)現(xiàn)靈活就業(yè),千萬企業(yè)通過平臺(tái)解決專業(yè)服務(wù)需求;專業(yè)性值得選擇。
校園社團(tuán)小程序技術(shù)性分析說明怎么寫
校園社團(tuán)小程序技術(shù)性分析說明需要考慮以下幾個(gè)方面:
一、硬件需求:計(jì)算機(jī)硬件配置(主機(jī)、顯示器、鍵盤、鼠標(biāo)等),網(wǎng)絡(luò)環(huán)境(有線、無線),服務(wù)器環(huán)境(物理環(huán)境,服務(wù)器類別,網(wǎng)絡(luò)帶寬等),移動(dòng)設(shè)備(支持的操作系統(tǒng),設(shè)備型號(hào),屏幕尺寸,處理器型號(hào),內(nèi)存大小等);
二、軟件需求:多媒體技術(shù),網(wǎng)絡(luò)技術(shù),編程語言,數(shù)據(jù)庫技術(shù),軟件安全,操作系統(tǒng),文檔編輯軟件,用戶界面技術(shù)等;
三、開發(fā)技術(shù)分析:確定程序的功能,把握程序的架構(gòu),確定技術(shù)環(huán)境,分析系統(tǒng)和數(shù)據(jù)的關(guān)系,檢查程序技術(shù)的可行性,分析系統(tǒng)的安全性,確定系統(tǒng)的維護(hù),對(duì)程序進(jìn)行調(diào)試,檢查程序的可靠性和可維護(hù)性,確定程序的發(fā)布和運(yùn)行等;
四、設(shè)計(jì)技術(shù)分析:確定系統(tǒng)架構(gòu),構(gòu)建系統(tǒng)數(shù)據(jù)庫,定義數(shù)據(jù)庫模型,構(gòu)建系統(tǒng)模塊,定義模塊功能,搭建系統(tǒng)框架,設(shè)計(jì)用戶界面,設(shè)計(jì)系統(tǒng)功能,設(shè)計(jì)系統(tǒng)安全策略等;
五、測試技術(shù)分析:確定測試范圍,確定測試類別(功能測試,可靠性測試,安全性測試,性能測試),編寫測試用例,制定測試策略,運(yùn)行測試,審查測試報(bào)告,編寫評(píng)估報(bào)告等。
總之,校園社團(tuán)小程序技術(shù)性分析說明需要考慮硬件、軟件、開發(fā)、設(shè)計(jì)以及測試方面的技術(shù)要素,以確保小程序能夠滿足用戶的需求,并能順利運(yùn)行。
關(guān)于從技術(shù)角度分析微信小程序開發(fā)和微信小程序開發(fā)的技術(shù)路線的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。