產品經理必懂的技術知識——移動端技術

android和iOS技術特點

android和iOS差異化對比

android技術特點:
1.安裝文件擴展名爲.apk
2.手機尺寸多樣話,適配工作量大
3.系統開源,可定製化系統
4.應用市場碎片化嚴重,多渠道
5.手機硬件跨度大,應用支持情況多樣
6.開發語言:java

iOS技術特點:
1.安裝文件擴展名爲.ipa
2.手機尺寸相對單一,適配工作適中
3.系統閉源,不可定製化系統
4.官方指定應用市場,單一渠道
5.手機硬件差異小,應用支持情況統一
6.開發語言:objective-c/swift

移動端基本三要素

頁面
控件
,多個控件構成組建
操作,指操作手勢

頁面操作的實現原理

頁面操作事件:屏幕接收手勢操作,形成的觸發反應。事件可以被綁定到某個方法上

android和iOS基礎控件

UI控件:構成產品界面的基本元素,根據作用和操作的不同,區分爲不同種類

android基本控件:
按鈕:button
文本展示框:textview
文本輸入框:editview
圖片展示框:imageview
列表展示容器:listview
表格展示容器:gridview

iOS基本控件:
按鈕:UIbutton
文本展示框:UItextview
文本輸入框:UIeditview
圖片展示框:UIimageview
列表展示容器:UIlistview
表格展示容器:UIgridview

頁面控件規則

位置,大小,外觀

頁面佈局

頁面佈局:各種UI控件按照一定的佈局規則組合在一起,構成一個獨立的產品界面
佈局原理應用與產品設計:
1.產品設計時考慮每一個控件的邊界屬性(文本的最長展示範圍,不同屏幕的尺寸適配)
2.內容性控件需指明內容對其方式(文本展示框內容的對其方式,圖片拉伸方式)

如何選擇native和h5實現方式

native和h5的技術特點

native(原生)應用:通過各種移動平臺技術實現的客戶端產品,具備體驗好,功能豐富的特點
h5應用:通過網頁web技術實現的客戶點產皮,具備輕量化,易擴展的特點

native:
1.體驗順暢
2.更新需要發佈新的安裝包
3.針對不同端需單獨開發

h5
1.頁面需單獨加載
2.更新無需重新安裝
3.針對不同端只需開發一套

應用場景

native:使用頻率高;流程相對固化,變化較少;對體驗要求高
例如:登陸註冊,信息流,動畫

h5:運營模塊,內容變化頻率高,以內容和功能性爲主
例如:開屏啓動頁,頭部廣告條,運營活動說明頁

手機傳感器的應用

傳感器分類

傳感器是內置在手機中具有感知能力的硬件設備,可用來實現軟件功能
磁場傳感器:轉動手機可獲XYZ三個方向的磁場強度
加速度傳感器:可獲XYZ三個方向的加速度改變,計算擺動的幅度和次數來實現記步功能
三軸陀螺儀:計算XYZ三個方向的反轉角度,可識別手機的翻轉動作,比如翻轉來電靜音
指紋傳感器:分光學,射頻,電容三種,目前普遍採用電容指紋解鎖
距離傳感器:通過發射脈衝信號來計算返回時間從而得出距離,可用來實現近距離接聽電話息屏
光線傳感器:通常內置於手機正前方聽筒位置,識別光照強度調整屏幕亮度

手機是如何定位的

手機可通過GPS,基站,Wi-Fi實現定位功能
GPS通過連接衛星獲取參照位置具體經緯度,通常會做一些位移
基站都是固定的,手機獲取基站信號時可以定位位置
Wi-Fi通過獲取無線路由器的mac地址,實現位置經緯度獲取

客戶端數據緩存機制

什麼是緩存

緩存是一種臨時存儲機制,目的是用來提升數據加載過程中的速度和使用體驗

內存是一個公共區域,速度快,體驗好

緩存級別

緩存通常分爲一級緩存和二級緩存,一級緩存指手機中的內存,空間較小;二級緩存是指硬盤存儲,空間較大

緩存案例

微信朋友圈加載體驗:
首次加載時有個loading的過程——向服務端請求
列表狀態下,圖片加載小圖,點擊放大後加載高清圖——再次向服務端請求
下滑幾頁後再上劃,已加載的內容仍然保留——已存儲在內存中
劃到底部時有加載更多的操作——向服務端請求

在設計瀑布流時考慮到緩存機制,避免重複請求

客戶端消息推送

推送:服務端主動向客戶端發送消息的機制
客戶端獲取服務端消息的方式:
1.主動獲取數據:客戶端發起請求訪問服務端,服務端返回消息
2.被動接收數據:服務端主動向客戶端推送消息

推送頻率是重要考慮點

推送原理

實現消息推送的三種方式
1.主動輪詢:以定期請求的方式,向服務器發起數據請求,問它有沒有給我新消息,有就返回給你,沒有就下次再請求
2.建立長連接:相當於一個管道,不能掛斷,有新消息就會立刻推送過來,是目前主要的機制
3.心跳消息:和主動輪詢有點像,主動輪詢是定期請求,心跳消息是需要的時候發個消息

消息推送服務器

手機長時間開啓長連接或者輪詢機制,對資源消耗很大,不管是耗電量還是耗流量。爲了解決資源消耗,對推送消息更好的管理,建立了這種消息推送服務器,比如蘋果建立的APNs

APNS就是在服務端和客戶端中間再架設一種服務器,服務端發送消息的時候,都會把消息統一傳遞到APNS,這樣每個客戶端指建立一個長連接就可以了,客戶端收到消息後會判斷,這個消息是哪個應用的就給那個應用

消息推送服務器的優點
1.只需建立一個推送管道長連接
2.對資源消耗少
3.消息可統一管理

什麼是react native技術

什麼是react native

產品經理在工作中經常遇到一些情況
1.線上的文案出錯了,需要及時更改,但文案寫死在客戶端了,寫死在客戶端但意思是這個文案固定了,寫在了客戶端但代碼裏面,打包成了一個app,發不到了市場上,如果想更改的話,必須重新打包上傳,用戶更新成新版本之後,才能更新到一個最新的狀態
2.有個功能需要調整,如果是原生native開發的話,同樣需要重新寫代碼編譯打包發佈到應用市場上,客戶端需要更新到最新版本才能體驗最新的版本
基於以上痛點,Facebook退出了一種基於web技術開發native app的技術,在不用發佈前端版本的基礎上實現熱更新,熱更新是指,直接將最新的代碼推送到線上,線上就可以直接更新成最新的狀態,目前主流的是通過js實現app的動態更新

react native的優勢

主要體現在成本和效率上
1.app可以像網頁一樣更新,隨時發佈,不依賴於版本迭代
2.不區分程序員職能,不需要iOS和安卓,只要會web的技術,會使用react native框架就可以,一套應用程序統一開發
3.代碼服用度高,避免多端兼容

react native直接解析js進行頁面處理,相比於java和objective-c在執行效率上更加高效。類比於前者是熟食,可以直接使用,後者是生食,需加工處理後才能使用。

react native的應用場景

適合的場景:
1.資訊類產品,如信息流和瀑布流
2.動態運營類模塊較多的場景,如電商

不太適合的場景:
1.對首次加載速度要求較高的產品
2.工具類產品,對效率體驗要求較高的產品

對於產品經理而言,並不一定要深究它的技術框架是如何實現的,但是我們要了解它在使用場景上具體有哪些落地的應用,在產品決策的時候,什麼樣的場景,產品,工具適合用這種技術,這樣我們就會有一個選擇的範圍

微信小程序的技術特點和應用

微信小程序基本介紹

小程序是基於微信生態的一種程序開放平臺,基於微信環境,跨平臺支持
特點:
1.依託於微信運行無法單獨在手機操作系統環境內運行
2.可基於微信的關係鏈進行傳播,例如微信好友和微信羣
3.有自己的開發環境和發佈機制,並且有小程序獨特的開發語言
4.可調用微信原生基礎組建,例如地圖和多媒體支持

微信小程序技術特點

基於HTML,CSS,JS技術,衍生出的WXML,WXSS,WXS
WXML:是小程序框架設計的一套標籤語言,可用來構建小程序頁面結構
WXSS:是一套樣式語言,用於描述WXML的組建樣式
WXS:是小程序的一套腳本語言,結合WXML,可以構建出頁面的結構,並處理頁面交互

小程序無法主動向用戶推送消息

小程序與app

微信小程序使用場景
1.處理即時性任務
2.好友邀請(投票,地址,介紹)
3.輕量級服務(共享單車,打車)

app使用場景
1.處理複雜任務
2.注重體驗性和多任務處理
3.強營銷屬性類產品(電商,金融,生活服務)

早起屬於驗證階段的產品推薦使用小程序,輕量化,跨平臺,可利用微信生態傳播。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章