產(chǎn)品避免被懟节值,技術(shù)這課是必須要補(bǔ)上的。
1. 產(chǎn)品和技術(shù)思維的不同
思維不同導(dǎo)致榜聂,溝通的矛盾搞疗。技術(shù)解決問(wèn)題更直接,簡(jiǎn)潔须肆。針對(duì)某個(gè)需要匿乃,技術(shù)想得是價(jià)值,技術(shù)實(shí)現(xiàn)難度豌汇,與其他模塊關(guān)系幢炸,開(kāi)發(fā)成本。溝通時(shí)拒贱,注意切換宛徊。
2. 整體技術(shù)框架
? ? 從使用層面分為佛嬉,客戶端和服務(wù)端,兩種通過(guò)請(qǐng)求和響應(yīng)進(jìn)行工作闸天∨唬客戶端的軟件是APP,呈現(xiàn)產(chǎn)品內(nèi)容苞氮,硬件支持是PC湾揽,移動(dòng)智能手機(jī)。服務(wù)端的軟件是響應(yīng)客戶端的請(qǐng)求笼吟,硬件的物理服務(wù)器钝腺,放在機(jī)房中。
? ? 從實(shí)現(xiàn)層面說(shuō)分為赞厕,后端和前端艳狐。后端主要負(fù)責(zé)數(shù)據(jù)方面的儲(chǔ)存和實(shí)現(xiàn),前端主要負(fù)責(zé)頁(yè)面和交互的實(shí)現(xiàn)皿桑。
? 從研發(fā)部分為毫目,服務(wù)端,前端诲侮,運(yùn)維镀虐,測(cè)試。這幾個(gè)大塊沟绪,前兩同上刮便,運(yùn)維服務(wù)服務(wù)器的維護(hù)和系統(tǒng)的穩(wěn)定,測(cè)試主要負(fù)責(zé)產(chǎn)品設(shè)計(jì)實(shí)現(xiàn)后的檢查绽慈。
3. 技術(shù)實(shí)現(xiàn)基礎(chǔ)
技術(shù)實(shí)現(xiàn)實(shí)質(zhì)是程序員將做什么和怎么做告訴電腦恨旱,電腦按命令執(zhí)行的過(guò)程。兩者通過(guò)編程語(yǔ)言交流坝疼,程序員用編程語(yǔ)言將命令寫成一個(gè)個(gè)程序搜贤,電腦按照程序來(lái)執(zhí)行指令。程序包括數(shù)據(jù)和算法钝凶,數(shù)據(jù)是指是什么仪芒,算法是怎么做。
3.1 編程
3.1.1編程語(yǔ)言
編程語(yǔ)言是程序員與電腦交流語(yǔ)言耕陷。C語(yǔ)言是始祖掂名,后面的C+,Java等都是從這里來(lái)的。簡(jiǎn)單分類哟沫,安卓用Java饺蔑,蘋果用objective-C,Swift南用,網(wǎng)頁(yè)用php,HTML膀钠,從其他網(wǎng)頁(yè)爬取內(nèi)容用Python等掏湾。使用時(shí),大多是用現(xiàn)有已經(jīng)開(kāi)發(fā)完成的框架加自己修改肿嘲。
3.1.2 數(shù)據(jù)的類型融击,數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)就是程序的內(nèi)容,例如百度搜索后的反饋雳窟,沒(méi)有數(shù)據(jù)程序就是空殼子尊浪。數(shù)據(jù)類型是將數(shù)據(jù)分類,各種數(shù)據(jù)用途不同封救。用來(lái)計(jì)算的整數(shù)型拇涤,有小數(shù)點(diǎn)的浮點(diǎn)型;不可計(jì)算誉结,用來(lái)直接顯示的字符型鹅士;用來(lái)判斷的布爾型。數(shù)據(jù)結(jié)構(gòu)是將數(shù)據(jù)組織起來(lái)的方式惩坑,包括將同類數(shù)據(jù)組織起來(lái)的數(shù)組掉盅,按排隊(duì)的方式,一個(gè)接一個(gè)的組織方式的隊(duì)式以舒,按照堆積木方式趾痘,一層層疊加,取數(shù)據(jù)時(shí)也必須一層層取的棧式結(jié)構(gòu)蔓钟;還是按照樹樣式永票,一組數(shù)據(jù)是一個(gè)節(jié)點(diǎn)的網(wǎng)狀結(jié)構(gòu)的樹形。
3.1.3 算法的計(jì)算方式
算法是給程序下達(dá)怎么做的指令滥沫,是一個(gè)計(jì)算判斷的過(guò)程 侣集。算法包括數(shù)據(jù)的邏輯結(jié)構(gòu)和函數(shù)。數(shù)據(jù)的邏輯結(jié)構(gòu)是判斷數(shù)據(jù)佣谐,包括按照設(shè)定條件進(jìn)行判斷的條件判斷肚吏,按照設(shè)定條件進(jìn)行選擇的條件選擇方妖,按照規(guī)定條件進(jìn)行循環(huán)操作狭魂。函數(shù)是指設(shè)定的計(jì)算方式,進(jìn)行計(jì)算并給出結(jié)果的指令党觅。比如設(shè)定雌澄,用戶輸入1和9,后臺(tái)給出10.這就是一個(gè)簡(jiǎn)單算法杯瞻。
3.2 數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是數(shù)據(jù)的倉(cāng)庫(kù)镐牺,能夠?qū)?shù)據(jù)進(jìn)行管理。數(shù)據(jù)按照是否與其他數(shù)據(jù)建立關(guān)系魁莉,分為關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)睬涧。關(guān)系型數(shù)據(jù)庫(kù)是能夠建立兩個(gè)數(shù)據(jù)間的關(guān)系募胃,而非關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)間相互獨(dú)立。他們通過(guò)sql需要進(jìn)行數(shù)據(jù)庫(kù)管理畦浓,可以完成增加痹束,刪語(yǔ)言除,修改讶请。后期能夠通過(guò)關(guān)鍵詞檢索數(shù)據(jù)祷嘶。
關(guān)系型數(shù)據(jù)庫(kù)是通關(guān)將一個(gè)實(shí)體的屬性提取,建成一個(gè)二維表夺溢,并給定唯一的id论巍,兩個(gè)表通過(guò)關(guān)鍵詞建立聯(lián)系。比如說(shuō)學(xué)生這個(gè)實(shí)體风响,有姓名嘉汰,學(xué)號(hào),成績(jī)屬性状勤,而成績(jī)可以單獨(dú)成一個(gè)主題郑现,有數(shù)學(xué),英語(yǔ)荧降。學(xué)習(xí)表中小趙成績(jī)的編號(hào)是315接箫,而在成績(jī)表中對(duì)應(yīng)找到315編號(hào)的數(shù)據(jù),就可以完成精簡(jiǎn)數(shù)據(jù)和結(jié)構(gòu)化整理朵诫。屬性就是他的字段名辛友,id是主鍵。
非關(guān)系型數(shù)據(jù)庫(kù)是獨(dú)立的剪返,類似文件夾獨(dú)立儲(chǔ)存數(shù)據(jù)废累。因?yàn)榭梢钥焖俜磻?yīng),可以完成大并發(fā)的數(shù)據(jù)處理脱盲,比如網(wǎng)站的訪問(wèn)量數(shù)據(jù)統(tǒng)計(jì)邑滨。
大多后臺(tái)的綜合應(yīng)用關(guān)系和非關(guān)系型數(shù)據(jù)庫(kù)。
4 具體技術(shù)實(shí)現(xiàn)
具體技術(shù)實(shí)現(xiàn)是根據(jù)產(chǎn)品原型钱反,前端借助編程把把產(chǎn)品外表看得見(jiàn)的框架描繪出來(lái)掖看,后端把用戶在操作時(shí)需要處理的數(shù)據(jù)呈現(xiàn)出來(lái)。
5 前端相關(guān)的技術(shù)
5.1移動(dòng)端
目前移動(dòng)端主要蘋果和安卓面哥,前端主要負(fù)責(zé)頁(yè)面的呈現(xiàn)哎壳,以及手機(jī)權(quán)限和打包發(fā)布。下面同時(shí)以蘋果和安卓對(duì)比尚卫,來(lái)表述归榕。
5.1.1 控件
頁(yè)面是由于一個(gè)個(gè)可交互的控件組成。蘋果與安卓最大不同是蘋果的控件大多可以相互嵌套吱涉,而安卓只有列表式和表格式控件才可以刹泄。另外就是名字不同外里。
控件是由原始控件視圖發(fā)展而來(lái),實(shí)際是個(gè)最簡(jiǎn)單可交互的矩形方塊特石。蘋果是uiview级乐,安卓是view
接著有文本展示框,文本輸入框县匠,按鈕风科,列表組件,表格組件乞旦。另外安卓控件有尺寸使用獨(dú)立像素dp贼穆,大小使用sp。蘋果是用邏輯像素兰粉,也就是物理像素除2故痊。
5.1.2 布局
安卓分為線性布局和相對(duì)布局,而蘋果是用絕對(duì)布局玖姑。安卓的線性布局是從左到右愕秫,從上到下。相對(duì)布局是設(shè)定其中一個(gè)控件的位置焰络,其他控件保持與它相對(duì)距離戴甩。蘋果的絕對(duì)布局,按照它的邏輯像素闪彼,以左上角為原點(diǎn)甜孤,將它的橫縱坐標(biāo),長(zhǎng)寬像素畏腕,按照四位坐標(biāo)編明缴川。
5.1.3 權(quán)限設(shè)置
個(gè)別功能需要調(diào)用手機(jī)權(quán)限,比如通信錄描馅。蘋果與安卓的提醒授權(quán)的位置不同把夸,安卓是在安裝時(shí)前置提醒,蘋果是使用時(shí)在提醒铭污。
5.1.4 打包發(fā)布
打包是將已經(jīng)做好的程序恋日,壓縮成可以安裝的程序包。發(fā)布是將做好的程序發(fā)布在市場(chǎng)上况凉,能夠供用戶下載和使用谚鄙。
蘋果和安卓的打包差別不大,發(fā)布卻很大刁绒。安卓的開(kāi)源屬性,決定它可以有上百個(gè)軟件市場(chǎng)烤黍。每個(gè)都要發(fā)布更新知市。蘋果的封閉屬性傻盟,只需要發(fā)布在AppStore里就可以了。安卓的發(fā)布是個(gè)體力活嫂丙,而蘋果是個(gè)耐心活娘赴,因?yàn)樘O果卡的很嚴(yán)。
5.2 web端
5.2.1 web的特性
web泛指網(wǎng)站網(wǎng)頁(yè)跟啤,存在于電腦和手機(jī)網(wǎng)頁(yè)诽表,和與移動(dòng)端下載的在手機(jī)中的原生頁(yè)面相對(duì)。目前h5是html的5代技術(shù)隅肥,能夠?qū)崿F(xiàn)跨平臺(tái)竿奏,以及豐富的頁(yè)動(dòng)效等。它的特性在于跨平臺(tái)腥放,不用安裝更新泛啸。
5.2.2 web的基礎(chǔ)技術(shù)
web頁(yè)面通過(guò)html超文本語(yǔ)言寫出一個(gè)前端展示頁(yè)面,頁(yè)面中每個(gè)資源都有特定的位置秃症。也就是url候址,資源定位。眾多頁(yè)面种柑,在主域名下岗仑,組成一個(gè)網(wǎng)站。此外聚请,擁有特定的域名也就是lp地址赔蒲。用戶通過(guò)http協(xié)議,訪問(wèn)網(wǎng)頁(yè)良漱,能夠獲得標(biāo)準(zhǔn)的內(nèi)容舞虱。www是萬(wàn)維網(wǎng),表明類型是頁(yè)面母市。
5.2.3 原生與h5的應(yīng)用
原生是指安裝在蘋果或安轉(zhuǎn)移動(dòng)端應(yīng)用的本來(lái)頁(yè)矾兜,這里h5是指網(wǎng)頁(yè)應(yīng)用在移動(dòng)應(yīng)用的頁(yè)面。原生的優(yōu)點(diǎn)在于流暢和體驗(yàn)好患久,缺點(diǎn)在于開(kāi)發(fā)周期長(zhǎng)椅寺,h5是優(yōu)點(diǎn)快速,開(kāi)發(fā)成本低蒋失。不用本地安裝返帕,就可以更新,開(kāi)發(fā)的難度也較小篙挽。目前大多數(shù)是混合使用荆萤,原生與h5.
5. 后端相關(guān)技術(shù)
5.1 整體技術(shù)架構(gòu)
后臺(tái)技術(shù)了分為物理機(jī)房和軟件技術(shù)。機(jī)房一般由網(wǎng)線,端口链韭,應(yīng)用服務(wù)器偏竟,交換機(jī),數(shù)據(jù)庫(kù)服務(wù)器組成敞峭。從軟件方面看踊谋,是由負(fù)載均衡器疏導(dǎo)流量,到應(yīng)用服務(wù)器處理信息旋讹,經(jīng)過(guò)交換機(jī)轉(zhuǎn)換殖蚕,調(diào)取數(shù)據(jù)庫(kù)數(shù)據(jù),
5.2 實(shí)現(xiàn)相關(guān)
后端主要負(fù)責(zé)處理客戶端的反饋沉迹,具體表現(xiàn)在處理和反饋客戶端數(shù)據(jù)睦疫。處理數(shù)據(jù)表現(xiàn)在需要設(shè)計(jì)數(shù)據(jù)庫(kù),良好的數(shù)據(jù)庫(kù)能夠讓用戶方便快捷獲取信息胚股,并且后邊產(chǎn)品相關(guān)人員能夠觀測(cè)數(shù)據(jù)笼痛。在接收和反饋數(shù)據(jù)通過(guò)借口進(jìn)行,借口可以理解成一個(gè)數(shù)據(jù)的通道琅拌,建立起客戶端和后臺(tái)數(shù)據(jù)庫(kù)聯(lián)系缨伊。常見(jiàn)的借口分為json和xml。json更加簡(jiǎn)單进宝,常見(jiàn)刻坊。