网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

像VUE一樣寫微信小程序-深入研究wepy框架

發布時間:2017-12-29 18:02 所屬欄目:小程序開發教程

微信小程序自發布到如今已經有半年多的時間了,憑借微信平臺的強大影響力,越來越多企業加入小程序開發。 小程序于M頁比相比,有以下優勢:1、小程序擁有更多的能力,包括定位、錄音、文件、媒體、各種硬件能力等,想 ...

 
 
 

微信小程序自發布到如今已經有半年多的時間了,憑借微信平臺的強大影響力,越來越多企業加入小程序開發。 小程序于M頁比相比,有以下優勢: 

1、小程序擁有更多的能力,包括定位、錄音、文件、媒體、各種硬件能力等,想象空間更大 

2、運行在微信內部,體驗更接近APP

3、在過度競爭的互聯網行業中,獲取一個有效APP用戶的成本已經非常高了,小程序相比APP更加輕量、即用即走, 更容易獲取用戶

開發對比

從開發角度來講,小程序官方封裝了很多常用組件給開發帶來很多便利性,但同時也帶來很多不便: 

1、小程序重新定義了DOM結構,沒有window、document、div、span等,小程序只有view、text、image等 封裝好的組件,頁面布局只能通過這些基礎組件來實現,對開發人員來講需要一定的習慣轉換成本 

2、小程序不推薦直接操作DOM(僅僅從2017年7月開始才可以獲取DOM和部分屬性),如果不熟悉MVVM模式的開發者, 需要很高的學習成本

3、小程序沒有cookie,只能通過storage來模擬各項cookie操作(包括http中的setCookie也需要自行處理)

wepy

筆者團隊最近開發了多個微信小程序,為了彌補小程序各項不足和延續開發者VUE的開發習慣,團隊在開發初期 就選用了wepy框架,該框架是騰訊內部基于小程序的開發框架,設計思路基本參考VUE,開發模式和編碼風 格上80%以上接近VUE,開發者可以以很小的成本從VUE開發切換成小程序開發,相比于小程序,主要優點如下:

1、開發模式容易轉換 wepy在原有的小程序的開發模式下進行再次封裝,更貼近于現有MVVM框架開發模式。框架在開發過程中參考了 一些現在框架的一些特性,并且融入其中,以下是使用wepy前后的代碼對比圖。

官方DEMO代碼:


		
  1. /index.js

  2. //獲取應用實例

  3. var app = getApp()

  4. Page({

  5.    data: {

  6.        motto: 'Hello World',

  7.        userInfo: {}

  8.    },

  9.    //事件處理函數

  10.    bindViewTap: function() {

  11.        console.log('button clicked')

  12.    },

  13.    onLoad: function () {

  14.        console.log('onLoad')

  15.    }

  16. })

基于wepy的實現:


		
  1. import wepy from 'wepy';

  2.  

  3. export default class Index extends wepy.page {

  4.  

  5.    data = {

  6.        motto: 'Hello World',

  7.        userInfo: {}

  8.    };

  9.    methods = {

  10.        bindViewTap () {

  11.            console.log('button clicked');

  12.        }

  13.    };

  14.    onLoad() {

  15.        console.log('onLoad');

  16.    };

  17. }

2.真正的組件化開發 小程序雖然有 標簽可以實現組件復用,但僅限于模板片段層面的復用,業務代碼與交互事件 仍需在頁面處理。無法實現組件化的松耦合與復用的效果。

wepy組件示例


		
  1. // index.wpy

  2. <template>

  3.    <view>

  4.        <panel>

  5.            <h1 slot="title"></h1>

  6.        </panel>

  7.        <counter1 :num="myNum"></counter1>

  8.        <counter2 :num.sync="syncNum"></counter2>

  9.        <list :item="items"></list>

  10.    </view>

  11. </template>

  12. <script>

  13. import wepy from 'wepy';

  14. import List from '../components/list';

  15. import Panel from '../components/panel';

  16. import Counter from '../components/counter';

  17.  

  18. export default class Index extends wepy.page {

  19.  

  20.    config = {

  21.        "navigationBarTitleText": "test"

  22.    };

  23.    components = {

  24.        panel: Panel,

  25.        counter1: Counter,

  26.        counter2: Counter,

  27.        list: List

  28.    };

  29.    data = {

  30.        myNum: 50,

  31.        syncNum: 100,

  32.        items: [1, 2, 3, 4]

  33.    }

  34. }

  35. </script>

3.支持加載外部NPM包 小程序較大的缺陷是不支持NPM包,導致無法直接使用大量優秀的開源內容,wepy在編譯過程當中,會遞歸 遍歷代碼中的require然后將對應依賴文件從node_modules當中拷貝出來,并且修改require為相對路徑, 從而實現對外部NPM包的支持。如下圖:

4.單文件模式,使得目錄結構更加清晰 小程序官方目錄結構要求app必須有三個文件app.json,app.js,app.wxss,頁面有4個文件 index.json,index.js,index.wxml,index.wxss。而且文 件必須同名。 所以使用wepy開發前后開發目錄對比如下:

官方DEMO:


		
  1. project

  2. ├── pages

  3. |   ├── index

  4. |   |   ├── index.json  index 頁面配置

  5. |   |   ├── index.js    index 頁面邏輯

  6. |   |   ├── index.wxml  index 頁面結構

  7. |   |   └── index.wxss  index 頁面樣式表

  8. |   └── log

  9. |       ├── log.json    log 頁面配置

  10. |       ├── log.wxml    log



易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/18303.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×