產(chǎn)品經(jīng)理:不得不懂的基礎(chǔ)技術(shù)知識

72 評論 128972 瀏覽 1094 收藏 28 分鐘

剛?cè)腴T產(chǎn)品,和開發(fā)溝通的時候總是被懷疑智商?沒事,本文和你分享一下那些溝(si)通(bi)經(jīng)歷,并告訴你產(chǎn)品經(jīng)理必須知道的基礎(chǔ)技術(shù)知識!

一入產(chǎn)品深似海。身為產(chǎn)品汪,我想說產(chǎn)品汪和程序猿是兩個物種,一個來自金星,一個來自火星,腦結(jié)構(gòu)、腦回路截然不同,關(guān)鍵是他們還健忘!

雖說“人人都是產(chǎn)品經(jīng)理”,但也造成產(chǎn)品成為整個行業(yè)“鄙視鏈”的末端。

C開發(fā)看不起做C++開發(fā),C++開發(fā)看不起Java開發(fā),Java開發(fā)看不起C#開發(fā),C#開發(fā)看不起做前端開發(fā)。但他們確都有個共同點(diǎn),就是一致覺得產(chǎn)品是超低智商生物。

溝通不易,但不得不溝通!

聽不懂的時候怎么辦,如果只是干等,那等同挖坑埋自己。和開發(fā)溝通之前一定要做足功課,否則分分鐘被噴!十幾個開發(fā)一起噴你,那就是群毆。

希望這篇文章能給剛?cè)腴T的產(chǎn)品補(bǔ)點(diǎn)技術(shù)能量,關(guān)愛程序猿。

曾經(jīng)你以為,產(chǎn)品的日常黑話是:

我不管,反正你要實(shí)現(xiàn)!

做這么點(diǎn)東西要那么久嗎,分分鐘就能搞定吧!

要不你先做一版,先看看效果再說,不行再改。

我的需求很簡單,很簡單的,照著這個做就行了,一模一樣就好!

現(xiàn)實(shí)卻是:

好的,我今晚加班,晚上把原型和RFP郵件發(fā)給你們。

別慌,我去跟領(lǐng)導(dǎo)申請下增加開發(fā)資源!

穩(wěn)住,你們先榮耀一把吧,晚上一起加班呀。

如果你還行走在互聯(lián)網(wǎng)圈子里,基礎(chǔ)技術(shù)知識是產(chǎn)品必須要了解的。

我日常游走在一群前后端狂魔中,被灌輸很多毒藥,但也只能自行一一消化,現(xiàn)在一一吐露。

一、少不了的接口

說到接口,它“無處不在”,當(dāng)打開APP的時候,你會看到一個菊花轉(zhuǎn)啊轉(zhuǎn)啊轉(zhuǎn)呀,然后加載出來的那些文字、圖表、炫酷的動畫就是前端ajax通過接口提交數(shù)據(jù)從后端請求回來的數(shù)據(jù)。

一個完整的APP項目一般都是由客戶端(前端)和服務(wù)端(后端)相結(jié)合。

  • 接口,就是后端將數(shù)據(jù)源或數(shù)據(jù)庫提供給外部應(yīng)用去調(diào)用的一段程序。
  • 接口可以完成某個任務(wù),但是它需要有相應(yīng)的輸入(即入?yún)ⅲ?。在工作中,少不了要定義五花八門的接口。

后端定義好URL,前端按照規(guī)定的格式請求它,它就會把數(shù)據(jù)給你,這就是接口。

前端負(fù)責(zé)將數(shù)據(jù)展示給用戶并快速響應(yīng)用戶所有的操作(點(diǎn)擊、長按、左滑、右滑、下拉刷新等等),后端則負(fù)責(zé)將數(shù)據(jù)在服務(wù)器上進(jìn)行一系列處理(增、刪、改、查)后返回給前端。

前端負(fù)責(zé)拿到數(shù)據(jù)并處理數(shù)據(jù)展示出來。

千萬不要覺得前端工作簡單,不就是寫個html頁面展示數(shù)據(jù),但是他們需要考慮各種瀏覽器的兼容性、各種土豪、土鱉等設(shè)備適配性,響應(yīng)式設(shè)計、VR、AI、3D效果層出不窮的新概念新挑戰(zhàn),且行且珍惜。

接口四要素:

  • 方法 :Post(增)、Delete(刪)、 put(改)、Get(查)
  • url: /userinfo
  • 請求參數(shù):字段、說明、類型、備注、是否必填
  • 返回參數(shù):code/message/data

看個示例:

“code”:200,

“msg”:“成功”,

“time”:“677788888”,

“data”:{“name”:“張三”,“age”:“23”},

}

規(guī)范的接口得保證:

  • 要保持好身材,瘦,瘦,瘦!盡量前端不要處理業(yè)務(wù)邏輯、不進(jìn)行金額計算、且減少處理請求參數(shù)的校驗(yàn);
  • 要有可拓展性:文章、圖片最好由后端來提供;
  • 要可靠安全、性能優(yōu)化、體驗(yàn)流暢。

在項目進(jìn)行中,接口聯(lián)調(diào)尤為關(guān)鍵。

接口聯(lián)調(diào),就是[前后端平心靜氣、坐在一起校對數(shù)據(jù)]==[一言不合就開懟、項目一完就吹水。

聯(lián)調(diào)主要是為了解決數(shù)據(jù)格式問題和數(shù)據(jù)參數(shù)問題。

這里提一下接口文檔。

接口文檔一般由后端進(jìn)行編寫,需要和前端一起協(xié)商補(bǔ)充,注意要溝通、溝通、溝通!在項目開發(fā)過程中,前后端工程師會根據(jù)這份文檔為主,要共同維護(hù)和更新它,直到項目結(jié)束。

  • 它可以讓前后端工程師圍繞一個統(tǒng)一的文檔進(jìn)行溝通交流開發(fā),減少溝通成本;
  • 項目維護(hù)中或者項目人員更迭,方便后期人員查看、維護(hù),減少學(xué)習(xí)成本;
  • 也可一定程度上體現(xiàn)程序猿的表(wen)達(dá)(mang)能力;
  • 最重要一點(diǎn),它可以是后期甩鍋的強(qiáng)有力證據(jù)。

通常,前端開發(fā)人員和后臺開發(fā)人員是不同的人。當(dāng)然,部分種子選手兩者兼顧,曰全棧工程師(仰望大神)。不過,前后端的思維模式不一樣,要打造一個全棧工程師,學(xué)習(xí)成本極高。

一般來說,核心業(yè)務(wù)都會分離開,畢竟人的精力有限,要保質(zhì)保量保安全,一個人兼顧不過來。

附上一小段前后端聯(lián)調(diào)接口日常對話:

后臺:接口好了,你試試。

前端:不行,500。

后臺:我看看。

半個小時飄過。

后臺:好了,修復(fù)了個bug,你再試試。

前端:不行呀,還是500。

過了很久……

后臺:好了,我重構(gòu)了下代碼,參數(shù)改了,接口文檔有更新,你看看。

前端:好的(心里MMP)。

產(chǎn)品:下周一提測哦。

前端、后臺:網(wǎng)易云音樂-涼涼……

二、坑不死你的“寫死”

不是你們說的那個編劇又把男主角寫死的那個意思。

回到正題,我們前面說到了接口可以請求到數(shù)據(jù)。

對一個頁面而言,頁面的數(shù)據(jù)一方面由前端直接寫死,也就是靜態(tài)數(shù)據(jù),另一部分需要有后端接口提供,前端需要從后端請求接口拿到數(shù)據(jù)并按照要求展示到頁面上,比如淘寶的商品列表。

但數(shù)據(jù)有靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù),有些數(shù)據(jù)可以由前端寫死的,雷打不動。這就是靜態(tài)數(shù)據(jù)。

例如某些APP首頁下方的那些TAB欄,就是寫死的,因?yàn)槟切㏕AB基本不會有變化。

類比你去飯店吃飯,你點(diǎn)了個螺獅粉,老板問你要不要辣,你腦子一熱就說加辣,那端上來的肯定是紅通通的一端,基本就這樣了。如果你覺得辣,那你只能重新點(diǎn)一碗。

  • 優(yōu)點(diǎn):減少和服務(wù)端進(jìn)行請求。
  • 缺點(diǎn):后期如有擴(kuò)展,要填坑。

三、高逼格的組件及框架

跟前端小伙交(si)流(bi)多了,組件這個詞,除非你聾,不然一定會有所耳聞。

前端在寫頁面的時候,發(fā)現(xiàn)很多頁面有相似的地方,相似的地方功能也相同。比如都是一個表單,一個banner輪播圖,一個下拉框。So,為了提高代碼復(fù)用性,減少重復(fù)性的開發(fā),就把頁面封裝起來以便下次復(fù)用,這就是一個組件。

組件可以看作是自定義的CSS+HTML+JavaScript重新組合,它是一種可拼裝的功能集合。

簡單說下HTML+CSS+JavaScript,舉個某寶的首頁,首頁看到的圖片、文字都是一個個的HTML元素,然后頁面的背景顏色、圖片大小,按鈕位于整個頁面的什么位置,這就是CSS做的。

至于JavaScript,簡稱js,可以看成首頁的大腦,主要實(shí)現(xiàn)內(nèi)部的邏輯,比如按鈕點(diǎn)擊之后怎么處理,界面之間如何跳轉(zhuǎn),什么時候刷新信息,如何請求數(shù)據(jù)。它需要把后端返回的數(shù)據(jù)添加到頁面中,或者讓元素運(yùn)動起來,或者是改變頁面的CSS,或者是操作HTML元素。

?類比產(chǎn)品Axure作原型圖,每個頁面都需要有頂部狀態(tài)欄,我們會運(yùn)用幾個按鈕、矩形框進(jìn)行組合,命名為母版。

類比我們以前高考備戰(zhàn)采用大量的習(xí)題戰(zhàn)術(shù),我們會有一本錯題集,學(xué)霸們會怎么利用這本錯題集呢?他們會按照考點(diǎn)對錯題集分類。對組件也是一樣,有相似的功能可以歸并為一類。

你寫的代碼越來越多,你封裝的組件就越來越多。慢慢的,你就有個組件庫,包括樣式組件、UI組件、基礎(chǔ)組件、業(yè)務(wù)組件等等。Perfect,組件還可以進(jìn)行再組合,把組件再整合起來,是一種組件間相互關(guān)系的設(shè)計。

類比你手機(jī)裝了支付寶APP,它可以用來買理財產(chǎn)品、可以用來買保險,可以使用第三方服務(wù),但是對一些人而言,他不需要這些功能,他只是把錢放在余額寶里,偶爾迷茫的時候去看一眼。

框架不是越大越好??蚣苤恍璞A艋镜墓δ?,但是它會提供方式給你去擴(kuò)展,這才是好的框架。

四、天天念叨的DOM

  • DOM全稱Document Object Model,翻譯就是文檔對象模型。
  • DOM是一系列功能集合,是處理HTML和XML文檔的編程接口。
  • DOM允許開發(fā)人員從文檔中增、刪、查、改頁面數(shù)據(jù)。直白的講,它給文檔提供了一種結(jié)構(gòu)化的表示方法,可以改變文檔的內(nèi)容和呈現(xiàn)方式。
  • DOM技術(shù)使頁面可以動態(tài)地變化,如可以動態(tài)地顯示或隱藏一個元素,改變它們的屬性,增加一個元素等。
  • 可以把DOM認(rèn)為是頁面上數(shù)據(jù)和結(jié)構(gòu)的一個樹形表示。
  • DOM的功能是把瀏覽器支持的文檔(包括HTML、 XML、 XHTML)都當(dāng)成對象來解析。

請看下面這個HTML文件:

html

head

titleDOM/title

/head

body

h1DOM Lesson one/h1

phello world/p

/body

/html

你可以看出,最外面一層是html,html嵌套著head和body標(biāo)簽,head嵌套著title標(biāo)簽,body嵌套著p標(biāo)簽。

同理,DOM也是一層一層嵌套著,這種層級關(guān)系不是隨便定的,是有一定的規(guī)則。

  • 這可類比于我們存放的文件路徑: 我的電腦-CDEFG盤-學(xué)習(xí)資料-日本語音-島國電影。
  • 也可類比于我們博大精深的親人關(guān)系表。

DOM它易用性強(qiáng),并且遍歷簡單,直接操作DOM無所不能。

但操作DOM效率低,解析速度慢,內(nèi)存占用量過高,且DOM機(jī)制中所運(yùn)用的大量對象的創(chuàng)建和銷毀影響效率。
所以出現(xiàn)了虛擬DOM。這個我就編不下去了。

五、Cookie、Session、Token哪家強(qiáng)

在傳統(tǒng)的web應(yīng)用中,服務(wù)器端通過一種存儲機(jī)制保存了會話信息(Session)。

Session可以理解為后臺服務(wù)器的一小片內(nèi)存。

每個會話信息都對應(yīng)一個唯一的編號:Session ID,這個字符串隨機(jī)產(chǎn)生,服務(wù)器端會把Session ID放在Cookie里面,Cookie數(shù)據(jù)存放在客戶端。Session的狀態(tài)是存儲在服務(wù)器端,客戶端存的只有Session id。

Cookie是服務(wù)器給客戶端的憑證,可以理解為存在客戶端的一個txt文件。

里面包括你登錄信息之類,這樣你下次在登錄某個網(wǎng)站,就會自動調(diào)用Cookie,取到Session id到后端服務(wù)器獲取對應(yīng)的Session具體信息,進(jìn)行數(shù)據(jù)的保存和修改,但Cookie存放在客戶端易被盜用篡改,不是很安全。

這類比于你去逛超市,你存放了私人物品在儲物柜子里,它會給你個取件的紙條,等你逛完超市后,就可以掃描紙條打開柜子。

在前后端沒有分離的時候,前端頁面往往都屬于后臺管理,這個大部分是同源請求。

但是在前后端分離后,這個時候一般涉及到跨域,跨域的請求不攜帶Cookie,要攜帶Cookie又要后臺指定允許的跨域地址,比較麻煩,于是出現(xiàn)了Token。

Token就是令牌。

Token一般是由uid+時間戳+設(shè)備號+自定義規(guī)則經(jīng)過算法加密后的一串字符串。字符串通常很長,難偽造。

這類比于服務(wù)器生成了一個單號返回給客戶端,客戶端帶著單號過來請求請求器,這時候怎么證明單號是服務(wù)器生成的呢,可以通過單號來檢查。

比如你授權(quán)(登錄)一個程序時,它就是個依據(jù),判斷你是否已經(jīng)授權(quán)程序;Token的狀態(tài)是存儲在客戶端。

在APP開發(fā)中,都是使用Token作為驗(yàn)證后的憑證。

一般采取的措施是客戶端輸入用戶名和密碼,客戶端登錄后,服務(wù)器端會返回一個Token,之后所有的請求都會帶著Token,客戶端把Token放在請求頭(header)里,在應(yīng)用中一般使用https會增加安全性,拿到Token才能進(jìn)入頁面內(nèi)。

后端通過檢驗(yàn)請求頭判斷是否登錄、是否正常請求、是否安全后再提供服務(wù)。

六、程序猿又說要重構(gòu)

開發(fā)人員經(jīng)常抱怨 :

“這么爛的代碼,維護(hù)不了啦,需要重構(gòu)!”

“這代碼怎么能這么不優(yōu)雅?誰來重構(gòu)一下?”

我。。。。忍不住給你們這些卓越的工程師打Call。

重構(gòu)是對代碼做任何更動,以增加可讀性或者簡化結(jié)構(gòu),而不影響輸出結(jié)果。

  • 輕一點(diǎn):優(yōu)化原有代碼,改善代碼質(zhì)量,比如三行代碼用一行就解決,降低復(fù)雜度。
  • 重一點(diǎn):完全重寫,幾乎不用原來的代碼。
  • 再嚴(yán)重一點(diǎn)說:為了有事干!知道它的重要性了吧!

重構(gòu)成功的話,從長遠(yuǎn)來看應(yīng)該是利大于弊的,對用戶而言:更快、更流暢、更美觀;對碼農(nóng)而言:易維護(hù),更易讀,一看就是優(yōu)雅的代碼,特別是人員流動比較大的項目。

作為產(chǎn)品經(jīng)理,我表示:重構(gòu)有風(fēng)險,重構(gòu)需謹(jǐn)慎,得做到:

1. 充分的測試!?。。?/strong>

看似簡單,但是往往都做不到,項目成員對于充分的定義標(biāo)準(zhǔn)都不一樣,產(chǎn)品經(jīng)理永遠(yuǎn)都覺得沒有測試足夠,也不可能百分百的覆蓋率。這個時候,利用自動化測試工具未免不是一個有效途徑。

2. 充分的溝通?。。?!

很多需求提出方不理解為什么要重構(gòu),但他們卻要為重構(gòu)買單,在他們看來往往就像個騙局。

對于新功能的重構(gòu),應(yīng)該融入到正常開發(fā)過程中,如何讓上帝理解重構(gòu)的價值,反思一下遇到的問題:是由于早起技術(shù)架構(gòu)的缺陷,還是業(yè)務(wù)領(lǐng)域模型變動太大?如何避免今后再次遇到,得到上帝的理解和認(rèn)可,這至關(guān)重要。

3. 充分的思量?。。?!

考慮時間成本!人力成本!學(xué)習(xí)成本!盡量避免大的重構(gòu),這樣可以減少多方的工作量,也會減少項目延期的風(fēng)險。

對于一些核心功能,進(jìn)行重構(gòu)之前盡早告知團(tuán)隊,并重點(diǎn)闡述下重構(gòu)的周期、目的以及會涉及到的業(yè)務(wù)區(qū)域,這樣做一方面可以讓項目經(jīng)理合理地安排排期。盡量避免上線前進(jìn)行重構(gòu),因?yàn)轱L(fēng)險無法預(yù)估。

七、調(diào)試、打包、部署

啊,不是那個你去店里點(diǎn)餐,跟老板說的那個打包!

程序猿做項目的時候,會在本地搭建一個開發(fā)環(huán)境,用于調(diào)試自己的代碼。

程序猿說的碼代碼只有程序猿自己才認(rèn)識,計算機(jī)根本不認(rèn)識,計算機(jī)只認(rèn)識二進(jìn)制。

打包,就是將自己寫的代碼(Bug)打包成一個文件,即二進(jìn)制文件(010101這種格式)。

但要區(qū)分下,前端的打包,實(shí)質(zhì)是合并壓縮處理前端資源文件:包含HTML文件、js文件、CSS文件、圖片、字體、svg等等。

前端的打包工具, 流行的有:Gulp、Grunt、Webpack等工具。

打包工具可以讓開發(fā)網(wǎng)頁的時候使用import export require,像后端程序員一樣進(jìn)行模塊化開發(fā),每個模塊異步請求加載,可以減少請求提高性能,這樣瀏覽器可以通過少量的請求獲取到所需要的前端資源,節(jié)省流量,加快頁面加載速度,關(guān)鍵還起到混淆代碼的作用。

打包是為了運(yùn)行,打包完了就代表整裝待發(fā)了。

項目要上線的時候,程序猿要將自己的代碼部署到生產(chǎn)環(huán)境上。這需要你準(zhǔn)備就緒:版本號要高于線上版本、去除一些調(diào)試信息、混淆、簽名、做對齊等等。

部署,一般指服務(wù)器端程序上線,但是要給程序提供所需要的資源,讓它好好的運(yùn)行起來。

就像你養(yǎng)花,你如何讓它在花盆里面存活,你得有空氣,有水,有養(yǎng)料。

同樣,要運(yùn)行起你的一大坨代碼,就要配置好環(huán)境,比如使用幾個服務(wù)器、放在什么服務(wù)器上、開什么端口、怎么才能扛住大量的請求等等。

八、負(fù)載均衡有一手

負(fù)載均衡(又稱為負(fù)載分擔(dān)),英文名稱為Load Balance。

官方說法:

將負(fù)載(工作任務(wù))進(jìn)行平衡、分?jǐn)偟蕉鄠€操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。

通俗來講:就是將用戶請求分發(fā)到N臺服務(wù)器,一臺服務(wù)器需要處理的任務(wù)分給N臺服務(wù)器來處理,但不能簡單理解為分配給所有服務(wù)器一樣多的任務(wù),因?yàn)榉?wù)器的承載能力各不相同。N臺服務(wù)器一起處理任務(wù)叫集群。

負(fù)載均衡設(shè)備不是基礎(chǔ)網(wǎng)絡(luò)設(shè)備,而是一種性能優(yōu)化設(shè)備。

負(fù)載均衡的核心就是“分散壓力”,使所有的服務(wù)器都不會超過自己可承受的程度,避免宕(dang)機(jī)。

為什么要有負(fù)載均衡,對于網(wǎng)絡(luò)應(yīng)用而言,并不是一開始就需要負(fù)載均衡,當(dāng)網(wǎng)絡(luò)應(yīng)用的訪問量不斷增長,單個處理單元無法滿足負(fù)載需求時,網(wǎng)絡(luò)應(yīng)用流量將要出現(xiàn)瓶頸時,負(fù)載均衡才會起到作用。

類比你每逢節(jié)假日逛超市的時候,就能看到“負(fù)載均衡“的例子,收銀員高峰期只能服務(wù)10位顧客,當(dāng)做活動時有20位顧客需要服務(wù)的話可能就會排長隊,這樣購物體驗(yàn)將會很差(類比客戶抱怨系統(tǒng)/網(wǎng)站訪問太慢)。最簡單的辦法就是再招個營業(yè)員,重新開通一個收銀窗口。

九、F5不是一個快捷鍵

其實(shí),一說到負(fù)載均衡,就會聯(lián)想到F5=刷新快捷鍵嗎?就服你!

其實(shí)F5是只是負(fù)載均衡產(chǎn)品的一個品牌,其地位類似于諾基亞在手機(jī)品牌中的位置。

F5作為一級路由器,它是流量總?cè)肟?,相?dāng)重要,因?yàn)樗钢饨缢械恼埱髩毫Α?/strong>

有人會問?為什么不搞多臺F5?

F5如此卓越穩(wěn)定,當(dāng)然貴呀!貴呀!貴呀!死心了吧。

所以在它這里不會去做運(yùn)算,它需要做的就是轉(zhuǎn)發(fā)流量<,轉(zhuǎn)發(fā)給二級路由器nginx,nginx需要解析協(xié)議內(nèi)容,做更加精細(xì)化路由。

F5和nginx其實(shí)只是負(fù)載工具,只是分工不同而已,這是他們的價值所在。

十、負(fù)載均衡實(shí)現(xiàn)一二三

1. 重定向

這種方式,是通過將請求全部發(fā)送到前置機(jī),由前置機(jī)通過算法得出要分配給那臺應(yīng)用服務(wù)器,然后響應(yīng)給客戶端,由客戶端重定向到應(yīng)用服務(wù)器的一種方式。

類比個例子,一家公司舉辦招聘活動,每個人都可能要去往不同的樓層進(jìn)行投遞簡歷,所有的面試者都會先集中在一樓前臺處,然后由前臺MM為大家一一查詢所對應(yīng)的樓層,然后告知每一個面試者對應(yīng)的樓層,由面試者自行前往自己的樓層投遞簡歷。

你可以看到,每一個的請求,都要重定向一下,效率不高。

2. 反向代理

這種方式,是通過在前置機(jī)使用反向代理方式,將請求分發(fā)到應(yīng)用服務(wù)器,客戶端無需再請求一次,實(shí)現(xiàn)方式通常有兩種,一種是用交換機(jī)實(shí)現(xiàn),還有一種是用nginx實(shí)現(xiàn)。

這就相當(dāng)于前臺MM為面試者查詢到對應(yīng)的樓層之后,直接將簡歷分發(fā)到對應(yīng)樓層。不需要面試者再自行跑一趟。樓層收到簡歷后,也會響應(yīng)請求。

這種方式,對比重定向,效率較高,但是由于請求和響應(yīng)都是通過前置機(jī)來的,所以對前置機(jī)的考驗(yàn)很大。

3. 數(shù)據(jù)鏈路返回

這種方式,通過給應(yīng)用服務(wù)器設(shè)置虛擬IP,然后通過修改mac地址的方式,將請求分發(fā)出去,而應(yīng)用服務(wù)器收到請求后,可以直接響應(yīng)給客戶端,而不需要經(jīng)過前置機(jī)。

這類比于面試者不需要通過前臺MM,自己直接將簡歷投遞到對應(yīng)樓層,樓層收到簡歷后,會想要面試者的請求。

這種方式中,由于前置機(jī)只需要接受請求,不需要響應(yīng)數(shù)據(jù),所以,效率較第二種較高。

十一、風(fēng)風(fēng)火火的小程序

上次前端小伙在進(jìn)行內(nèi)部分享的時候,我去偷師了一下。

小程序=高逼格一點(diǎn)的H5頁面。

微信自己定義一套html標(biāo)簽,稱之為wxml,又封裝了一些樣式規(guī)則,叫wxss,其實(shí)就等同于html+css+js。

封裝一方面是為了降低開發(fā)成本,根本上是為了收攏控制權(quán)限,開發(fā)者能用的東西越多,微信需要操心的事情也就越少。

1.要做小程序開發(fā),你得裝個開發(fā)工具,微信提供的;

附上開發(fā)地址:
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html?t=20171227

2.然后,你需要去微信公眾平臺開通個小程序賬號;

3.接著你就要去學(xué)js;

微信小程序用js來作為開發(fā)語言,用定義的wxml來描述界面,用wxss來表達(dá)樣式,這些也是最基本的幾個要素。開發(fā)語言不用說,js非常成熟,解析js的引擎也有很多。

十二、寫在最后

作為打不死的產(chǎn)品,我的座右銘:與天斗 、與地斗、 與程序猿斗, 其樂無窮。

千萬不要影響他們的開發(fā),程序猿需要一片凈土。沒有買賣就沒有傷害。

最后,腦容量有限,歡迎各位補(bǔ)充。寫這種文章,我也很慌,有不對之處請多多指教,謝謝!

 

作者:黃麗嫦,微信公眾號:野生派產(chǎn)品錄

本文由 @黃麗嫦 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash ,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 寫的好棒

    來自安徽 回復(fù)
  2. 很干貨,謝謝

    來自廣東 回復(fù)
  3. 小姐姐寫的很好啊,請問這邊是有幾年經(jīng)驗(yàn)了。我感覺干了好幾年了 吵架還是吵不過開發(fā)啊。

    來自浙江 回復(fù)
  4. 寫的不錯,怎么可以加到作者的微信

    來自陜西 回復(fù)
  5. 新手想問一下:接口定義是由產(chǎn)品來寫嗎?我們公司要求我們產(chǎn)品會寫接口定義。。就是需要多少接口,接口需要入?yún)⑹裁?,輸出什么都要寫出來,直接給后端來編寫?

    來自廣東 回復(fù)
    1. 接口入?yún)?、出參、使用場景、性能要求,這些是產(chǎn)品來寫的—來自美團(tuán)

      來自北京 回復(fù)
    2. 太牛了吧,我們這都是開發(fā)寫,產(chǎn)品要會寫必須懂很多開發(fā)知識了吧

      來自重慶 回復(fù)
  6. 如獲至寶,謝謝老師

    來自北京 回復(fù)
  7. 沒有買賣就沒有傷害……笑尿

    回復(fù)
  8. 看一半 對新人很有幫助,謝謝!先收藏。

    來自遼寧 回復(fù)
  9. 有收益

    回復(fù)
  10. 厲害啊,小姐姐,能幫我生動的解釋一下code是啥意思么,網(wǎng)上搜到的都太官方。

    來自廣東 回復(fù)
    1. 200是服務(wù)器返回的請求狀態(tài)碼,比如:500,表示服務(wù)器錯誤。你經(jīng)常見的404,表示頁面找不到的意思。而200,表示請求成功的意思。

      來自浙江 回復(fù)
  11. 非常不錯,比某本書有用多了

    來自北京 回復(fù)
  12. 文章整理的很用心,可能是因?yàn)閮?nèi)容比較多,出現(xiàn)了一個Bug:“打包,就是將自己寫的代碼(Bug)打包成一個文件……”

    來自廣東 回復(fù)
    1. 只是作者的一種調(diào)侃罷了

      來自北京 回復(fù)
  13. 很棒啊,生動形象!

    來自北京 回復(fù)
  14. 不錯。通俗易懂。

    來自廣東 回復(fù)
  15. 不錯。收藏了

    回復(fù)
  16. 到目前還只接觸到接口,前端后端,重構(gòu),組件,寫死,全是排在前面的。。

    來自廣東 回復(fù)
  17. 先mark了,很有用。

    來自浙江 回復(fù)
  18. 本人前端轉(zhuǎn)產(chǎn)品4個月,真是自愧不如,小姐姐真是很厲害了,膜拜膜拜

    來自浙江 回復(fù)
  19. 反手一個訂閱+轉(zhuǎn)發(fā)

    來自福建 回復(fù)
  20. 對于我這個學(xué)八個月ui設(shè)計出來啥也不懂就被逼進(jìn)產(chǎn)品坑的小小白來說,這篇文章我看到了幾個很親切的字眼。css js token 重構(gòu),打包,接口這樣的字眼時,相當(dāng)親切,看文從不留言,這篇文章我甚是喜歡,同樣是九年義務(wù)教育,小姐姐你怎么可以那么有趣還有才,

    來自福建 回復(fù)
  21. 作為產(chǎn)品狗,看完之后我覺得這下可以去硬剛程序猿了,因?yàn)橹酥?/p>

    回復(fù)
    1. 年輕的brother,保持謙虛、學(xué)習(xí)的心態(tài)。這些都還只是基礎(chǔ),冰山一角呢。

      來自廣西 回復(fù)
    2. 嗯嗯,曉得曉得,謙虛、學(xué)習(xí) ??

      來自浙江 回復(fù)
  22. 一口氣看完這篇文章,深深感覺這為小姐姐是一個有趣的人,2333333

    來自江蘇 回復(fù)
  23. 你會看到一個菊花轉(zhuǎn)啊轉(zhuǎn)啊轉(zhuǎn)呀。。。233333333 小姐姐你是認(rèn)真的嗎

    來自貴州 回復(fù)
    1. 菊不菊花的無所謂,主要是轉(zhuǎn)啊轉(zhuǎn)啊

      來自廣東 回復(fù)
  24. 別的公司開發(fā)不收膝蓋了?

    來自四川 回復(fù)
  25. 哈哈,感謝,好文?。∠戎烙羞@么回事再說吧,具體還要等業(yè)務(wù)上遇到了再細(xì)細(xì)理解

    來自浙江 回復(fù)
  26. 太厲害啦,小白也能看懂一大半,現(xiàn)在正在經(jīng)歷被各種強(qiáng)勢開發(fā)懟的階段,學(xué)習(xí)!

    來自湖北 回復(fù)
  27. 表白一個,作為無技術(shù)基礎(chǔ)的產(chǎn)品這些只停留在概念中,受教了

    來自廣東 回復(fù)
  28. 作為一個后端出身的全干型產(chǎn)品,表示你這技術(shù)還不錯啊!程序猿一定搞不過你哈哈哈

    來自湖北 回復(fù)
    1. 受教了

      來自江蘇 回復(fù)