微信小程序開發(fā)入門(一)

前言

微信小程序于今日內(nèi)測了喉脖,一下子成為了程序員們的熱門話題淆院。本人以前是java程序員,前一段時間開始學(xué)習(xí)前端相關(guān)的知識,陸陸續(xù)續(xù)看了HTML饵较,CSS,JS和Node(正在學(xué)習(xí))遭赂,最近在工作中也開始從事一些前端工作(Flex開發(fā))循诉。小程序是否會成為微信公眾平臺開發(fā)的又一個成功產(chǎn)品,不得而知撇他,但引起了我濃厚的興趣:首先茄猫,它降低了開發(fā)簡單APP的門檻,有豐富的API可以調(diào)用困肩,其次划纽,如果小程序的發(fā)布只需要微信官方的審核,而不用政府有關(guān)部門的審核锌畸,這將會大大節(jié)省繁瑣的APP審核成本勇劣,不論時間還是金錢上。我也想趁此機會,跟深入的學(xué)習(xí)前端技術(shù)比默,所以寫這一個入門教程幻捏,權(quán)當是筆記和分享,有不足的地方請多指教命咐。

1 環(huán)境搭建

首先篡九,安裝微信小程序開發(fā)工具。由于是在內(nèi)測階段醋奠,所以沒有內(nèi)測資格的人只能使用破解的程序,地址:破解版榛臼。務(wù)必下載地址中的Demo,通過這個Demo钝域,我們可以邊看代碼變學(xué)習(xí)微信小程序的開發(fā)讽坏。當然锭魔,你還需要是一個微信公眾平臺開發(fā)者例证,因為需要輸入Appid進入工具

2 需要的知識

如果你是做前端開發(fā)的,請忽略這一節(jié)迷捧。如果你是菜鳥织咧,那么你需要有基本的HTML,CSS和Javascript,Node的基礎(chǔ)知識漠秋。真的只需要比較基礎(chǔ)的知識笙蒙,個人認為。

3 開發(fā)工具

屏幕快照 2016-09-23 12.07.16.png

這是進入開發(fā)工具看到的界面庆锦。左邊縱向的工具條上部有三個選項:編輯捅位、調(diào)試、項目搂抒。由于現(xiàn)在這個開發(fā)工具還不支持“項目”的一些功能艇搀,暫時忽略這個選項。


編輯頁面和一般界面的編輯器沒太大區(qū)別求晶,左邊是一個文件導(dǎo)航欄焰雕,右邊是文本編輯界面。左下角可以有一個“編譯”按鈕芳杏,它可以編譯修改的文件矩屁,然后reload項目,很方便的一個按鈕爵赵。

屏幕快照 2016-09-23 12.19.00.png

這是調(diào)試界面吝秕,可能是直接把chrome的開發(fā)者工具(切換到移動設(shè)備模式的)拿過來用了,基本一模一樣空幻。左邊是頁面預(yù)覽郭膛,右邊是開發(fā)者工具欄,從事前端的同學(xué)應(yīng)該很熟悉氛悬。它的左下角同樣有一些便捷的按鈕则剃,在預(yù)覽界面的頂部耘柱,還可以選擇設(shè)備型號和網(wǎng)絡(luò)模式。

我們先運行個小程序看看棍现。首先把之前下的Demo導(dǎo)入到開發(fā)工具中调煎,然后這個項目會自動啟動。在調(diào)試界面己肮,可以在右邊的console標簽下看到App打印的日志士袄。


屏幕快照 2016-09-23 13.53.07.png

看一下日志內(nèi)容,很容易知道App的啟動是通過WAService這個js谎僻,這應(yīng)該是微信開發(fā)的框架代碼娄柳,有興趣的可以研究一下它的源碼。其中的信息如“onLaunch have been invoked”艘绍,有經(jīng)驗的程序員應(yīng)該知道這個
信息是在說明某個方法被調(diào)用了赤拒。那這個方法是在哪邊定義的呢?不要急诱鞠,我已經(jīng)幫你找到了挎挖。

4 app.js

打開項目根目錄的app.js:

App({
  onLaunch: function () {
    console.log('App Launch')
  },
  onShow: function () {
   console.log('App Show')
  },
  onHide: function () {
    console.log('App Hide')
  },
  globalData: {
    hasLogin: false
  }
})

看吧,onLaunch,onShow方法都定義在這里(其中還有一個onHide方法航夺,這個方法App切換到后臺運行的時候調(diào)用)蕉朵。所以,在App啟動的時候,這個App會最先被加載,并執(zhí)行它的onLaunch方法阳掐,然后始衅,當它界面準備顯示出來的時候,它會調(diào)用onShow方法缭保。
然后是一堆“Register Page:xxxxx”的信息汛闸,字面意思是在注冊頁面文件,是在哪配置要注冊哪些文件的呢涮俄?這有涉及到另一個文件:app.json蛉拙。學(xué)過Node的同學(xué)肯定此刻肯定會心一笑。沒錯彻亲,這是類似package.json的項目配置文件孕锄,關(guān)于App的核心都放在這里面。打開這個文件:

{
"pages": [
  "page/component/index",
  "page/component/navigation-pages/controller/controller",
  "page/component/navigation-pages/form/form",
  "page/component/navigation-pages/media/media",
  "page/component/navigation-pages/view/view",
  "page/component/component-pages/wx-action-sheet/wx-action-sheet",
  "page/component/component-pages/wx-audio/wx-audio",
  "page/component/component-pages/wx-button/wx-button",
  ...
  ]
"window": {
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "小程序演示",
  "navigationBarBackgroundColor": "#fbf9fe",
  "backgroundColor": "#fbf9fe"
  },
"tabBar": {
  "color": "#dddddd",
  "selectedColor": "#3cc51f",
  "borderStyle": "black",
  "backgroundColor": "#ffffff",
  "list": [{
    "pagePath": "page/component/index",
    "iconPath": "image/wechat.png",
    "selectedIconPath": "image/wechatHL.png",
    "text": "組件"
   }, {
    "pagePath": "page/API/index/index",
    "iconPath": "image/wechat.png",
    "selectedIconPath": "image/wechatHL.png",
    "text": "接口"
  }]
},
"networkTimeout": {
 "request": 10000,
 "connectSocket": 10000,
 "uploadFile": 10000,
 "downloadFile": 10000
},
"debug": true
}

目前由于我沒有官方的開發(fā)教程苞尝,所以接下來說的都是我通過自己分析得出的一些結(jié)論畸肆,有錯誤請多多包涵。

5 app.json配置說明

5.1 pages

它配置的就是剛剛?cè)罩纠锬切﹔egister的頁面宙址,所以我們在App中新加了一個頁面轴脐,需要把頁面路徑寫到這個配置中。

5.2 window

它用來配置窗體的樣式。

具體配置項的說明:

  • navigationBarTitleText:導(dǎo)航欄的標題
  • navigationBarTextStyle:文本樣式
  • navigationBarBackgroundColor:導(dǎo)航欄背景色
  • backgroundColor:頁面背景色

這里的導(dǎo)航欄指頁面最上面的一部分大咱。我們拿“接口->基礎(chǔ)能力->微信登錄”這個界面舉例子恬涧。


屏幕快照 2016-09-23 15.01.02.png

導(dǎo)航欄部分在圖中以紅圈標出。你看碴巾,這個和原生的APP的頂部導(dǎo)航欄非常像溯捆,幾乎以假亂真,這也算是微信小程序的 一個優(yōu)勢吧厦瓢。

5.3 tabBar

這是配置下部導(dǎo)航欄的提揍。也就是最開始的頁面下面“組件”和“接口”所在的位置:

屏幕快照 2016-09-23 15.20.33.png

這也部件不管在webapp還是原始app,都很常見煮仇。

具體配置項說明:

  • color和selectedColor:圖標下方的文字在一般狀態(tài)的顏色和在選中狀態(tài)的顏色

  • borderStyle:邊框樣式(目前發(fā)現(xiàn)還有一個white樣式)

  • backgroundColor:背景色

  • list:導(dǎo)航欄包含的選項按鈕

    • pagePath:頁面的路徑劳跃,點擊按鈕會轉(zhuǎn)到該頁面
    • iconPath:一般狀態(tài)下的按鈕的icon的路徑
    • selectedIconPath:選中狀態(tài)下的按鈕的icon的路徑
    • text:按鈕icon下發(fā)的文字

5.4 networkTimeout

配置網(wǎng)絡(luò)的超時時間,單位都是毫秒浙垫。

具體配置項說明:

  • request:請求超時時間
  • connectSocket: websocket是超時時間
  • uploadFile:上傳文件的超市時間
  • downloadFile:下載文件的超市時間

5.5 debug

配置debug開啟(true)還是關(guān)閉(false),關(guān)閉了只會打印開發(fā)者自己代碼里的輸出信息刨仑,開啟了可以打印底層框架的日志。

6 app.wxss樣式

基本就是css換了個名字绞呈,沒啥新東西贸人。

結(jié)語

這是系列教程的第一章间景。從下載開發(fā)工具到現(xiàn)在寫完這個教程佃声,我只花了差不多七個小時,看吧倘要,入門就是這么簡單圾亏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市封拧,隨后出現(xiàn)的幾起案子志鹃,更是在濱河造成了極大的恐慌,老刑警劉巖泽西,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曹铃,死亡現(xiàn)場離奇詭異,居然都是意外死亡捧杉,警方通過查閱死者的電腦和手機陕见,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來味抖,“玉大人评甜,你說我怎么就攤上這事∽猩” “怎么了忍坷?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我佩研,道長柑肴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任旬薯,我火速辦了婚禮嘉抒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袍暴。我一直安慰自己些侍,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布政模。 她就那樣靜靜地躺著岗宣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪淋样。 梳的紋絲不亂的頭發(fā)上耗式,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音趁猴,去河邊找鬼刊咳。 笑死,一個胖子當著我的面吹牛儡司,可吹牛的內(nèi)容都是我干的娱挨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捕犬,長吁一口氣:“原來是場噩夢啊……” “哼跷坝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碉碉,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柴钻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垢粮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贴届,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年蜡吧,在試婚紗的時候發(fā)現(xiàn)自己被綠了毫蚓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡斩跌,死狀恐怖绍些,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耀鸦,我是刑警寧澤柬批,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布啸澡,位于F島的核電站,受9級特大地震影響氮帐,放射性物質(zhì)發(fā)生泄漏嗅虏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一上沐、第九天 我趴在偏房一處隱蔽的房頂上張望皮服。 院中可真熱鬧,春花似錦参咙、人聲如沸龄广。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽择同。三九已至,卻和暖如春净宵,著一層夾襖步出監(jiān)牢的瞬間敲才,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工择葡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留紧武,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓敏储,卻偏偏與公主長得像阻星,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子虹曙,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 1.html迫横,css番舆,js基礎(chǔ)知識 在微信小程序里主要文件有四種: 01.json:用來做配置 02.js:用來寫...
    秋末寒雨閱讀 245評論 0 1
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫酝碳、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,105評論 4 62
  • 茫茫人海不停的尋覓恨狈,感謝上天讓我遇見你疏哗,從此我的世界變得有意義,有你的日子不會再孤寂禾怠,春夏秋冬多少個四季返奉,喜怒哀樂...
    6115ed4405eb閱讀 202評論 0 0
  • 深圳終于進入了冬天,孩子們說:媽媽原來我的床是這么舒服喲吗氏!以前都沒感覺到呢芽偏?! 冬天的被窩是最讓人留戀的弦讽,不舍和依...
    晴致生活館閱讀 145評論 0 0