序言:
微信之父張小龍說:“小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想退唠,用戶掃一掃或者搜一下即可打開應(yīng)用鹃锈。也體現(xiàn)了“用完即走”的理念,用戶不關(guān)心是否安裝太多應(yīng)用的問題瞧预。應(yīng)用將無處不在屎债,隨時(shí)隨地可用,但又無需安裝卸載松蒜。”
我個(gè)人覺得張小龍是一個(gè)十分有情懷的互聯(lián)網(wǎng)人士已旧,2017年3月27日微信終于向個(gè)人開發(fā)者提供開發(fā)賬號(hào)和平臺(tái)秸苗,對(duì)于計(jì)算機(jī)專業(yè)的我,也是在忍不住想體驗(yàn)一下這個(gè)未來將取代原生App的應(yīng)用(自己開發(fā)一段時(shí)間后才慢慢發(fā)現(xiàn)运褪,未來不會(huì)大面積取代惊楼,而是兩者有機(jī)結(jié)合,準(zhǔn)確點(diǎn)說:小程序是一種介于原生app秸讹、和web app的hybrid)檀咙;
于是在慕課網(wǎng)上學(xué)習(xí)小程序的開發(fā),也跟著教程實(shí)戰(zhàn)開發(fā)了一個(gè)“文章閱讀器和電影信息”的項(xiàng)目璃诀,并取名《回憶與電影》弧可,這個(gè)小程序目前只是體驗(yàn)版,也并不希望能上線劣欢,畢竟創(chuàng)意不是自己的棕诵,而是自己在學(xué)習(xí)過程中的認(rèn)識(shí)和理解,所以在博客中記錄從4月1日到4月10 日凿将,這十天的開發(fā)過程和心得校套。未來規(guī)劃在一個(gè)月之內(nèi)開發(fā)一個(gè)自己創(chuàng)意的小程序上線玩玩。實(shí)戰(zhàn)項(xiàng)目就得有成果牧抵,在序言這塊先把效果圖放上來:
第一章:準(zhǔn)備工作
一個(gè)軟件開發(fā)項(xiàng)目的開發(fā)第一步必然都是尋找平臺(tái)笛匙,自然要尋找代碼編輯器(IDE),框架犀变,代碼編寫語言妹孙,配置環(huán)境變量等等。 小程序也不例外获枝,AppID也就是微信開發(fā)賬號(hào)涕蜂,網(wǎng)上也有很多關(guān)于此的申請(qǐng)步驟,再此不多贅述映琳,其實(shí)把微信公共平臺(tái)(https://mp.weixin.qq.com/)中小程序這一欄里面的信息都填好后机隙,跟著步驟一步步就可以完成蜘拉。
接下來那就是IDE的下載,官方給的IDE就是“微信web開發(fā)者工具”有鹿,和webstorm旭旭,pycharm都差不多(這里我個(gè)人真的很高興佳鳖,我們中國終于有自己封裝的開發(fā)工具斑鼻,可能是我孤陋寡聞,在研究生學(xué)習(xí)階段中稳吮,用的編輯器都是國外的)娱俺,雖然這個(gè)IDE名字很low稍味,版本管理,還有使用情況的確值得改善荠卷,但是起碼有模庐,而且用的是自己的框架封裝,作為中國人油宜,真的很驕傲掂碱。(創(chuàng)建項(xiàng)目方法自行摸索)
慕課網(wǎng)上說:學(xué)習(xí)小程序,其實(shí)是在學(xué)習(xí)MINA框架慎冤。對(duì)的疼燥,MINA框架就像Jquery一樣為開發(fā)提供了豐富的組件和API。(具體框架中的各種API蚁堤,組件和方法都在微信開發(fā)官方文檔中查詢)
第二章:項(xiàng)目構(gòu)架
1醉者、MINA和jquery不一樣,jquery是典型的操作DOM披诗,獲取節(jié)點(diǎn)后實(shí)現(xiàn)js操作湃交,而小程序從操作 DOM 轉(zhuǎn)為操作數(shù)據(jù),基于微信提供的一個(gè)過橋工具實(shí)現(xiàn)很多H5很難實(shí)現(xiàn)的功能藤巢,有點(diǎn)類似于hybrid開發(fā)搞莺,不同于 hybrid開發(fā)的方式是:微信開放的接口更為嚴(yán)謹(jǐn),結(jié)構(gòu)必須采用他提供給我們的組件掂咒,外部的框架和插件都不能在這里使用上才沧,讓開發(fā)者完全脫離操作 DOM,開發(fā)思想轉(zhuǎn)變很大绍刮。
2温圆、小程序的實(shí)現(xiàn)機(jī)制
小程序的開發(fā)是基于MINA框架進(jìn)行開發(fā)的。微信通過封裝微信客戶端提供的文件系統(tǒng)孩革、網(wǎng)絡(luò)通信岁歉、任務(wù)管理、數(shù)據(jù)安全等基礎(chǔ)功能膝蜈,對(duì)上層提供了一套完整的Javascript Api锅移,使得開發(fā)者能夠非常方便的使用到微信客戶端提供的各種基礎(chǔ)功能熔掺,快速構(gòu)建一個(gè)應(yīng)用》翘辏框架設(shè)計(jì)如下:
框架提供了自己的視圖層描述語言 WXML(類似Html)和 WXSS(類似CSS)基于 JavaScript 的邏輯層框架置逻,并在視圖層與邏輯層之間通過單向數(shù)據(jù)綁定進(jìn)行數(shù)據(jù)傳輸,使開發(fā)者更加聚焦于數(shù)據(jù)與邏輯上备绽。
3券坞、開發(fā)此項(xiàng)目要有Html5和CSS3和javascript的基礎(chǔ)。
4肺素、整個(gè)項(xiàng)目的項(xiàng)目骨架: