免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
開發(fā) | 掌握這 7 個要點,iOS 開發(fā)者也能快速入門小程序
文 | Lefe
但接觸一段時間后,我發(fā)現(xiàn),其實并不是想象中的那樣。微信小程序不可能替代原生 app,也沒有絕對的優(yōu)勢戰(zhàn)勝原生 app。
不過,微信小程序固然有它的好處,比如我們需要用到的那些不常用的服務(wù)。對于小企業(yè)來說,小程序可以讓他們更便捷地宣傳他們的服務(wù),或是給顧客一個更好的線下體驗。
那么對于一個 iOS 開發(fā)的成員來說,開發(fā)小程序會有哪些挑戰(zhàn)呢?
回顧 iOS 開發(fā)過程
最基本的 iOS 開發(fā),大致會有以下流程:
  • 開發(fā)工具,Xcode

  • UI 層,頁面的搭建

  • 網(wǎng)絡(luò)層,基本的網(wǎng)絡(luò)請求

  • 頁面跳轉(zhuǎn)及傳值

  • 事件

  • 數(shù)據(jù)層,緩存

小程序開發(fā)流程
小程序的開發(fā)流程,完全可以按照開發(fā)一個原生 app 的流程進行,我也是按照這個流程入門小程序的。
總體感覺沒那么復(fù)雜,只要你靜下心來仔細的去研究,那對你來說,開發(fā)一款微信小程序是很容易的。
1. 開發(fā)工具
我們使用 Xcode 進行 iOS 開發(fā),下載直接安裝,新建一個項目,即可運行。
微信小程序使用官方提供的微信 Web 開發(fā)者工具,下載安裝后即可創(chuàng)建項目。但創(chuàng)建項目時,需要微信授權(quán)登錄。
同樣,創(chuàng)建項目的時候微信提供了一個模板,打開項目即可看到實時預(yù)覽的效果。不過這里有一個比較坑的問題是,啟動開發(fā)者工具時,不能鏈接 VPN。
我建議,打開微信 Web 開發(fā)者工具前,先主動關(guān)閉 VPN,等項目啟動后再打開。
2. 搭建 UI 界面
對于 iOS 開發(fā)者來說,UI 布局可以使用坐標(Frame)來直接布局一個視圖,也可以使用自動布局。
對于微信小程序開發(fā),建議使用 Flexbox 布局。這是一種不一樣的布局方式。
Flexbox 布局,也叫彈性布局,是 CSS3 提出的一種布局解決方案。
說到布局時,必須說明一下 RPX。
RPX 的全稱是 responsive pixel,它是小程序自己定義的一個尺寸單位,可以根據(jù)當前設(shè)備屏幕寬度進行自適應(yīng)。
小程序中規(guī)定,所有的設(shè)備屏幕寬度都為 750 rpx,根據(jù)設(shè)備屏幕實際寬度的不同,1 rpx 所代表的實際像素值也不一樣。
關(guān)注知曉程序(微信號 zxcx0101),回復(fù)「rpx」,一篇文章帶你看懂 RPX。
利用 Flexbox,只需要幾行代碼就可以搞定下面這樣的布局。
關(guān)于 Flexbox 布局,這里不做更多的解釋。有興趣的同學(xué)可以找相關(guān)資料。

WXML 文件:

WXSS 文件:

3. 微信小程序沒有 UITableView
如果想做一個列表,只能用 scroll-view。但它特別好用,我們只需要把你創(chuàng)建的視圖添加到 scroll-view 標簽中即可,你甚至不需要計算子視圖的高度。
比如,我們做一個類似這樣的圖文混排的頁面。
對于這個頁面,Obj-C 下會如何實現(xiàn)呢?這一點已經(jīng)夠 iOS 開發(fā)者想半天了。
看看小程序的實現(xiàn)吧,看完后,你絕對有想學(xué)小程序的沖動,而且它的流暢度也不亞于原生應(yīng)用,只是第一次進入時稍微慢點。
直接上代碼:

WXML 文件:

WXSS 文件:

看到了嗎,就需要這么幾行代碼,而且圖片也會自動加載、自動等比縮放。是不是覺得很簡單呢?
通過以上的例子,相信讀者朋友已經(jīng)大體上明白了 FlexBox 布局的基本邏輯。
對于 UI 布局來說,微信小程序的思想值得我們借鑒,主要有以下幾點:

各個文件分工明確:WXML 負責頁面的布局,也就是布局文件。

WXSS 負責每個視圖的樣式,比如字體大小等樣式。

JS 監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量,數(shù)據(jù)都在這里。

布局簡單:創(chuàng)建界面的時候,微信小程序更加簡單,而且會自動適配屏幕。不過,建議使用 RPX 為單位。
系統(tǒng)提供了常用的控件:系統(tǒng)提供了我們常用的控件,這樣,搭建界面的時候會省很多事。
既然布局這么簡單,iOS 方面會不會也有這中布局方式?果不其然,我找到了 Yoga。它是 Facebook 實現(xiàn)的一個庫,有興趣的讀者可以研究一下。
4. 網(wǎng)絡(luò)層
對于 iOS 開發(fā)來說,網(wǎng)絡(luò)層的設(shè)計絕對是很重要的一部分,網(wǎng)絡(luò)層設(shè)計的好會直接關(guān)系到應(yīng)用的好壞,還有將來的維護成本。
不過好在,有一些優(yōu)秀的三方庫,幫我們解決了很多問題,比如 AFNetworking,YTKNetwork 就是基于 AFNetworking 的封裝。
為了降低開發(fā)難度,微信小程序已經(jīng)為我們做了網(wǎng)絡(luò)層的封裝,但網(wǎng)絡(luò)訪問必須通過 HTTPS 協(xié)議。調(diào)試環(huán)境下,HTTP 協(xié)議也可以請求成功,但會有警告。

以下是我寫的一個網(wǎng)絡(luò)請求:

5. 頁面跳轉(zhuǎn)及傳值
iOS 中,頁面跳轉(zhuǎn)常用的函數(shù)有 UINavigationControllerModal 形式跳轉(zhuǎn)。
在小程序當中,我們使用官方提供的接口進行頁面跳轉(zhuǎn)
wx.navigateTo(OBJECT) 為例來說明。url 是要跳轉(zhuǎn)到頁面的路徑,name 是給下一個頁面?zhèn)鬟f的數(shù)據(jù)。

這樣做,就如同 iOS 中的 Push相信有 iOS 的基礎(chǔ)的人,理解這個概念是很容易的。

6. 事件
iOS 中,可以為視圖添加一個事件,比如點擊事件。而小程序中,也可以給視圖添加事件,而且可以攜帶一些參數(shù)。
在這里,引用微信官方的一段話:
  • 事件是視圖層到邏輯層的通訊方式。

  • 事件可以將用戶的行為反饋到邏輯層進行處理。

  • 事件可以綁定在組件上,當達到觸發(fā)事件,就會執(zhí)行邏輯層中對應(yīng)的事件處理函數(shù)。

  • 事件對象可以攜帶額外信息,如 id、dataset、touches

bindtap 后的 bindMenu 為視圖綁定的事件名,data-name 中的 name 為事件傳遞的參數(shù)。

我們只需要在 .js 文件中實現(xiàn)函數(shù):

這樣就形成了一個綁定,點擊事件后直接把數(shù)據(jù)傳遞到了 .js 文件中,這樣大大降低了耦合度。
想想看,iOS 中如何實施這樣的實現(xiàn)呢?
7. 數(shù)據(jù)層、緩存
iOS 中,我們可以使用 Sqlite、Realm、NSUserDefault 等,對數(shù)據(jù)做緩存處理。而小程序中,我們使用 Storage 接口,對數(shù)據(jù)做緩存處理。
每個微信小程序都可以有自己的本地緩存,可以通過 wx.setStoragewx.setStorageSync)、wx.getStoragewx.getStorageSync)、wx.clearStoragewx.clearStorageSync),對本地緩存進行設(shè)置、獲取和清理。本地緩存最大為10MB。
總結(jié)
這篇文章,主要是為了幫助讀者了解小程序的開發(fā)過程。
小程序的開發(fā)過程,大體上與 iOS 的開發(fā)過程上一致。當然如果你有 RN 或者前端開發(fā)經(jīng)驗,學(xué)習(xí)小程序會更容易。
那么移動端開發(fā)者,如何學(xué)習(xí)小程序開發(fā)呢?我建議讀者,先學(xué)習(xí)一下 JavaScript、CSS 和 HTML。
有任何疑問,歡迎在評論區(qū)中提出來。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
微信小程序開發(fā)遇到的坑,你踩了嗎?
微信小程序的簡單制作開發(fā)流程,人人都可以自己開發(fā)小程序
微信小程序開發(fā)系列 (四) :微信小程序的頁面跳轉(zhuǎn)路由設(shè)計
第5章 電影類:仿淘票票微信小程序
小程序項目開發(fā)實戰(zhàn):從零到上線
超級簡單的微信小程序獲取今日天氣預(yù)報代碼 小程序獲取七日天氣
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服