人妻暴雨中被强制侵犯在线,亚洲国产欧美日韩精品一区二区三区,四虎影免看黄,国产无人区二卡三卡四卡不见星空

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 44550|回復(fù): 85

純自嗨:從零開始寫一個小程序

[復(fù)制鏈接]
1#
發(fā)表于 2021-1-6 07:32:36 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
開個貼子,記錄這件有意思的事情!: A& D. X+ y. \& z; m
# ]% E6 g- @- ^9 o! o& P5 m) R3 @- m
背景:
: ]$ I" ^; O& t9 h6 H, t0 w; R9 b沖突一:想學(xué)習(xí),卻找不到好工具
8 {: z8 F- m9 f( |9 t& o今年春節(jié)遇上了疫情,我宅在家里,處于“失業(yè)”狀態(tài),作為有志青年,不想每天刷劇、刷抖音,想著裝一下B,提高一下英語水平。
$ \, Q! J$ o7 Q* h. L4 [. i& y* V* d0 f
于是,在朋友圈瘋狂的廣告洗腦下,我下載了幾個當(dāng)時很火的App,很認真地投入學(xué)習(xí)。
" W% G+ G) ?( E, o# W' z: ?2 `然并卵,使用了一段時間之后,發(fā)現(xiàn)效果不太理想:首先,這些App記單詞過程太過于復(fù)雜,很多都提供了多種助記的方法,除了常規(guī)的詞根詞綴、聯(lián)想記憶以外,還有圖片記憶、電影情節(jié)記憶、思維導(dǎo)圖記憶等,這樣的好處是當(dāng)時很容易記住單詞,壞處就是忘得也很容易,大量的助記材料無形中增加了記憶的工作量,增加了記憶的負擔(dān),從而偏離了記單詞的初衷;其次,練聽力的功能普遍都是提供新概念英語或者VOA、BBC、TED等聽力材料,對于基礎(chǔ)不好的我,感覺在聽天書;
# T5 _3 B& U7 C# a" p: M難道就沒有一款適合我這種菜鳥的App嗎?* j$ O5 m! ~: d+ O5 T# @
一個大膽的想法出現(xiàn)在我腦海里:自己開發(fā)一個App。3 k' f' ~3 W% Z+ ~+ O' w. D

  a$ F: s+ }0 G! d/ m2 ^沖突二:計劃自己開發(fā),卻不是專業(yè)人士( B- h. _: s+ P) d
為什么說這個想法大膽呢?因為我雖然是一名搞技術(shù)的工程師,但僅限于機械行業(yè)的。我所接受的完整編程教育僅是在大學(xué)期間的《C語言程序設(shè)計》。所以對事情一無所知,嚴(yán)重缺乏相關(guān)知識儲備,除了大膽,我也不知道怎么來形容這個想法了。
, |7 B4 X8 w2 m! M9 P8 G但有句古話叫無知者無畏,而且作為理工男,我始終相信任何問題都有辦法解決,只要你能夠把問題描述得足夠清楚。! n, r" @' E2 H7 c2 @% Q
因此這個想法一出現(xiàn),我立馬覺得應(yīng)該去試試,結(jié)果怎樣不重要,起碼先行動起來。
1 ^! S3 t; ~/ G! i7 S9 w. o  T) j3 J# H& Q
行動:# U' r" A$ ^* V3 n3 G
先把問題描述清楚,我的目標(biāo)是開發(fā)一個學(xué)英語的App,這款A(yù)pp應(yīng)該功能簡單,不能太過復(fù)雜。把它分解成兩個問題:' K9 t1 I, \& k( S2 e! \. E
1-怎樣開發(fā)一個App?
) q# B% S* Q; _4 C" Q2-應(yīng)該具備什么功能才能用來學(xué)英語?3 S# M* y. ?+ p
2 O( K) C, o. N+ d
先來思考第一個問題:怎么開發(fā)一個App?0 j; [! i8 c7 C" f
我把問題進行細分:
/ y7 ^* _5 f  `$ c- d% o1 a1- 什么是App?
- k/ @. B5 U; [) Z3 P2- 需要哪些知識儲備?9 r; A- E/ N8 w1 M
3- 如何做?需要什么工具?
5 {, K2 g- |  N( W3 F4 V4- 有沒有簡單的方法實現(xiàn)?. Q/ g/ Q9 n% D; |% c
經(jīng)過一番搜索、學(xué)習(xí)、請教、記錄和總結(jié),這些問題漸漸有了答案。* N8 D+ |" z- c- C6 ^: N

5 L9 O9 S# u/ T) f3 ^4 m% c1-what:什么是App?
  ]; d! T3 k  |. xApp是應(yīng)用application的簡稱,我這里說的App是指手機端的App。
; r% B7 b% }* D8 J根據(jù)開發(fā)模式,目前的手機App可分為3種類型:原生、H5、Hybrid。它們有各自的優(yōu)劣勢:" j( q8 e) ]7 d
            
類別
) A, E3 D0 V( L1 L
概述0 U2 r# Z+ V  |2 i
優(yōu)勢6 f" l0 j4 U& ~( [8 u( x6 k3 |) @- [" m
劣勢2 v1 Y4 k- N) C, M8 g& z+ m/ \
原生應(yīng)用 (Native
$ j6 @0 x& q' ~; N( c* K0 I  App)
  F, F$ q* \$ l: O7 D- R
原生App就是利用Andriod、ios平臺官方的開發(fā)語言、開發(fā)類庫、工具進行開發(fā)。比如安卓的java語言,ios的Swift語言。在應(yīng)用性能上和交互體驗上應(yīng)該是最好的.
' p5 ?# {/ `, n+ }/ O( n6 ~
1-可以訪問手機所有功能、可實現(xiàn)功能最齊全;
/ w# m0 B: p8 l$ d$ S6 W( a( Q: ~2-運行速度快、性能高,絕佳的用戶體驗;
( C& \4 x7 E, ]6 ?3-支持大量圖形和動畫。不卡,反應(yīng)快;! l$ t' B  a! ?' P$ L$ {  o; o
4-比較快捷的使用設(shè)備端提供的接口,處理速度上有優(yōu)勢;
6 e; G* ~$ q$ J; e/ D6 G- [
1-開發(fā)成本高、周期長,Android和ios都需要單獨的開發(fā);
7 D  F% x+ u. U( e7 G  w2-更新版本需要重新下載安裝包;8 o4 r2 a# l. u
H5應(yīng)用 (Web App): S8 o6 o- u" Z& W- [7 s+ B
用普通web開發(fā)語言開發(fā)的,通過瀏覽器運行。9 \( P# t# H+ Y8 I
1-使用web語言,開發(fā)門檻低、周期短;
6 N- c; C( s# _7 `  a  N6 _7 _2-支持多種瀏覽器,兼容性好;  T* e& q) B, E9 ^6 i8 {' u- \3 x
3-免安裝,使用瀏覽器打開,更新無需用戶參與;, c: Z/ d; z" }* `3 [# A4 k
1-對聯(lián)網(wǎng)要求高,離線不能承載太多東西;
5 S  H/ e  g' f$ f9 B$ B) L2-功能有限;& E4 C' T; S) J+ ]1 P4 f
3-運行速度慢,頁面不能承載太多東西;0 z! Z' z5 m: a+ e; ~
4-圖片和動畫支持性不高;
' r% g' M# m& A, S5 N8 m5-體驗感不如原生和混合App;; ~8 \. j7 \9 L( P8 b; ~
混合版應(yīng)用 (Hybrid
# \" `: k) K  R9 N6 ^1 O6 d  App)
8 R" a/ _, j  v) C$ L3 v8 J6 u
既利用了原生APP開發(fā)技術(shù)還利用了HTML5開發(fā)技術(shù),是原生和HTML5技術(shù)的混合應(yīng)用?;旌媳壤幌?。目前市面上流行的小程序和快應(yīng)用就是采用Hybrid技術(shù)。
+ n( c, o5 p3 l' s% M, _9 p
1-運行速度比Web  App快,可調(diào)用部分設(shè)備端口;
& P! @/ e7 A! Y; {2-開發(fā)周期比原生App短;
4 E, ~' v/ R1 P/ S* `3-可以跨平臺,Android和ios不需要單獨的開發(fā);
% s2 g" D. w) p+ f8 b) y  z4-免安裝,打開就能用,更新無需用戶參與;
& W/ {$ C0 X' w: o9 r( \$ p+ o3 H
1-功能接口受限于原生App的支持程度;  z3 N; h1 ]5 A% d" g2 w* A
2-體驗感優(yōu)于Web App,但差于原生App;
8 B- u6 P! N+ e' W% ~, y
6 J: |4 f/ X; w
        
# k$ ^2 a1 X) S* [' v& ~1 i8 b' a3 `! k+ k9 T  O
2-why:需要哪些知識儲備?
$ N3 ]3 e; u# n+ D4 iApp開發(fā)的流程大概分為幾個階段:需求分析-->架構(gòu)設(shè)計-->后端開發(fā)-->前端開發(fā)-->測試。每個階段都需要相應(yīng)的知識。
8 i$ }% y& P3 y% a6 Y8 t/ @  {# L2 _. G# J

6 X3 j$ t$ m6 i# U( P6 A需求分析:0 v! a$ i1 |4 X5 s1 g, |4 T  |
需求分析也稱為軟件需求分析,是開發(fā)人員經(jīng)過深入細致的調(diào)研和分析,準(zhǔn)確理解用戶和項目的功能、性能、可靠性等具體要求,將用戶非形式的需求表述轉(zhuǎn)化為完整的需求定義,從而確定系統(tǒng)必須做什么的過程。這是軟件工程專業(yè)的相關(guān)知識。9 l7 B/ t+ H% l$ N* v
1 V4 n% @7 W$ |# K& o5 N
0 r* j' @: h! D

. P8 A9 h, y. K架構(gòu)設(shè)計:; N& [7 s3 O5 X9 I
需要架構(gòu)設(shè)計是將客戶的需求轉(zhuǎn)換為規(guī)范的開發(fā)計劃及文本,并制定這個項目的總體架構(gòu),指導(dǎo)整個開發(fā)團隊完成這個計劃。架構(gòu)設(shè)計是軟件設(shè)計過程的早期階段,它把需求分析和設(shè)計流程連接在一起。需要對開發(fā)技術(shù)(包括前端和后端)有深入的了解。
0 ?- U! o, n9 d- t& V" d0 ~. C: q% l# }- C6 Q0 ~7 D8 M- f8 B
- O. w, v3 g7 D! M

! |2 v; Z! @: k9 V后端開發(fā):
: v( g- ~: V. Y9 K7 C后端是指服務(wù)器相關(guān)的統(tǒng)稱,包含服務(wù)器、數(shù)據(jù)庫。6 S4 n  m8 s/ x& ^$ C7 x0 Y) D
服務(wù)器搭建與開發(fā),常用語言和工具:Nginx、Java、Shell、Python、PHP、node.js等;, r5 }8 |# K9 A2 V* D
數(shù)據(jù)庫開發(fā),常用知識:關(guān)系型數(shù)據(jù)庫mySQL,非關(guān)系型數(shù)據(jù)庫MongoDB;
% n  y0 }$ L3 `* ]) l/ [* m  x9 t
: R' V* V& g$ Q+ j( X9 K

' U* x6 I  u$ \$ r1 |
) ^( _- _7 D$ s3 p' r) d$ Z0 z6 C前端開發(fā):! ~$ T8 y5 ?% E, H
前端是手機端的開發(fā),包括UI界面、響應(yīng)邏輯、數(shù)據(jù)的請求。4 o) I# w* s+ X% i& b
前端三大基礎(chǔ)技術(shù):HTML5、CSS、JavaScript;3 K/ }- z  E4 x9 F% y
流行的前端框架:Angular、vue.js、React;9 O6 O# g5 _6 R$ O8 T
原生App開發(fā)語言:Swift(iOS平臺);Java(Android平臺);
, S* E9 C3 {6 b$ ^4 v- h' I
1 u3 U; a6 j9 J# R2 v

4 F, @" g* F: j7 H& m6 H
* L3 |$ h% Q" b5 e( ?7 G" V; b1 I
測試:1 }7 M. u* t& [7 F, |
包括功能測試、性能測試、壓力測試等。- C: @/ l( Z% Z# L* H3 w

4 F. G+ }  x, y2 I$ p0 n0 J
' [  Z# N, L6 |0 ^/ ?* d
* w% k. z! [) ~# \! M. [0 r
3-how:怎么做?需要用到什么工具?: ?9 t" _% @$ M: b& J) w8 s( g4 T
看書、看視頻教程、看開發(fā)文檔、模仿實踐;! _, t: l3 ~& E
基本上各種語言都有各自的開發(fā)工具(IDE),學(xué)到哪個就用哪個。
8 R) a0 q8 Z6 E# I( }
' r  W! H7 S% Z; ]4-how good:有沒有簡單的方法實現(xiàn)?, _( p  I4 D( ~# M" Z
隨著了解的越深入,越發(fā)現(xiàn)這個事情沒有想象中那么簡單。這是一個系統(tǒng)工程,涉及太多的知識,需要不同崗位的人配合,就好比開發(fā)一臺設(shè)備,需要機械工程師、電氣工程師、工藝工程師、采購工程師等一起合作才能完成。' D0 X& R- L1 V+ z9 |) z
難道一個人就真的不可能完成?我開始動搖,直到后來看到了“全棧開發(fā)”這個名詞,眼前一亮,信心立馬恢復(fù)。全棧開發(fā)是指一個人搞掂前端和后端。隨著技術(shù)的發(fā)展,市面上有很多現(xiàn)成的框架,借助這些框架來實現(xiàn)一個小項目這個可能還是有的。" g" q+ C! t8 o: Y9 c# A+ x) |0 ?
! S7 I: G$ U. z& d& p" L8 C' m' b
那么接下來就是確定開發(fā)的模式:
7 D8 z* i0 m$ Z# R6 N8 k首先排除開發(fā)原生應(yīng)用,難度實在太大,不符合我的情況。只能在H5和Hybrid之間選擇,H5是門檻最低的,但我預(yù)計后期會用到手機攝像頭和話筒這些硬件,這些是H5的劣勢。那么目前看來Hybrid是最合適的選擇,而且此時微信小程序開始火起來,各種開發(fā)教程和案例都豐富起來。于是,我最終確定做微信小程序。后來,微信小程序推出了云開發(fā),媽呀,我感動得快要哭了,騰訊真的太照顧我了,這樣又幫我解決了后端開發(fā)的問題。+ I: ~, D6 C, q  @$ k% O
關(guān)于開發(fā)的問題,確定開發(fā)模式后,剩下的就是惡補微信小程序的相關(guān)知識。* P+ S: M! z4 n4 [  s

! F/ y9 d9 P* g+ ~2 U7 h第二個問題是APP應(yīng)該具備什么功能才能用來學(xué)英語?后面繼續(xù)記錄。。。。
2 S: ~! o: L5 C" d$ v6 ]3 Z5 j" w0 Z  S8 j! W' e+ x

評分

參與人數(shù) 2威望 +101 收起 理由
大白小白 + 1 不明覺厲
老鷹 + 100

查看全部評分

2#
發(fā)表于 2021-1-6 08:05:18 | 只看該作者
樓主牛批,期待更新

點評

感謝支持!  發(fā)表于 2021-1-6 23:15
3#
發(fā)表于 2021-1-6 08:11:05 | 只看該作者
等更新

點評

感謝支持!  發(fā)表于 2021-1-6 23:15
4#
發(fā)表于 2021-1-6 09:50:49 | 只看該作者
牛批,點個贊

點評

感謝支持!  發(fā)表于 2021-1-6 23:14
5#
發(fā)表于 2021-1-6 09:53:36 | 只看該作者
此事意義重大!給樓主點贊!

點評

感謝支持!  發(fā)表于 2021-1-7 08:25
6#
發(fā)表于 2021-1-6 09:54:06 | 只看該作者
good  用心

點評

感謝支持!  發(fā)表于 2021-1-6 23:16
7#
發(fā)表于 2021-1-6 11:02:56 | 只看該作者
給樓主點贊!

點評

感謝支持!  發(fā)表于 2021-1-6 23:17
8#
發(fā)表于 2021-1-6 11:12:46 | 只看該作者
想法不錯,可以看看比鄰國APP,可以學(xué)習(xí)很多語種

點評

感謝分享!  發(fā)表于 2021-1-6 23:17
9#
 樓主| 發(fā)表于 2021-1-6 11:36:44 | 只看該作者
確定開發(fā)微信小程序后,那后面所有的工作就以這個展開。
0 M- }# l" ^2 l, o& G, Q1 \
" q/ A2 |( m$ S4 [( V9 `我把這事分成三個步驟:- Z% C3 b+ c9 j6 I
1-先學(xué)習(xí)前端三大基礎(chǔ)知識:HTML5、CSS、JavaScript,了解vue.js;
4 u! L$ V/ j9 x- n2-學(xué)習(xí)小程序的開發(fā)教材及案例:官方的開發(fā)文檔和教程、優(yōu)秀大咖的課程;$ W- J' ]  q1 s  R- {' v
3-以實際需求為驅(qū)動,開始寫程序,邊寫邊學(xué);
! Q, f: v& c; ]' H- z5 l7 x
/ ~3 D0 W' h  k% }: w
8 G9 ]  J, j# ~6 S1 M學(xué)習(xí)過程中找了很多學(xué)習(xí)資料,經(jīng)過學(xué)習(xí)和篩選,我認為最有用的有以下幾個,如果各位社友感興趣可以去了解:( j, C/ ]1 r5 Q8 a% e
1-菜鳥教程:# i! l2 a0 U8 q" L% U2 Q8 M
此網(wǎng)站有詳細的教程資料,包括前端三大技術(shù)、服務(wù)器、數(shù)據(jù)庫等,非常詳細。1 f) Q( c: q1 u% F2 B- E  N7 w6 o9 e
) c& u  ~- S: `; g; R/ E0 ~
' U# r$ d2 c2 M. m; Z8 k
2-官方文檔:6 d$ X9 B6 K+ w8 ~) D4 o% r/ n
小程序的官方開發(fā)文檔,可以先粗略閱讀一遍,在寫代碼時再查找具體的組件或者API。
' [; E6 W2 B5 `9 f7 L* }9 R% A
( [& k* b) N( P) c
- E5 S% ^# p" M' X% c  \4 F3-官方視頻教程:
' C, q8 ~- W% G: H/ n7 G9 r分類三個階段,包括小程序開發(fā)、小程序云開發(fā)、小程序項目,可以反復(fù)觀看。0 E4 `1 u6 V0 |- _$ ]( }

% f, d) m* h# |4 e. @
( O. G0 `6 x( H6 ~5 H# f9 g! G# g4-CSDN:5 O; Z" o5 c# f& P, t; _3 W
一個程序員的社區(qū),只要遇到疑問,90%可以在這個地方找到答案。
8 S% x" m; a' Q3 ^9 X- I/ l6 S$ I& I: k: s

) `* ?6 V7 d% s5-B站:
+ {! a9 s( X8 c5 {; x一個包羅萬有的社區(qū),有大量的視頻教程,包括HTML5、CSS、JavaScript、小程序開發(fā)。
5 Z9 {6 ~- T8 ~; @. t' u" k& f
7 _2 w) Z, Q. l; v7 E' i, F0 ^備注:由于我沒有權(quán)限發(fā)表包含URL地址的信息,所以無法貼上鏈接。以上的資料都可以百度找到。如果實在找不到,有興趣的可以私信我。" N  b6 R6 Z+ A( e6 I* W( F) V! M
學(xué)習(xí)過程中,也走過一些彎路:
- ], {! w' d3 E5 [9 n( S1- APICloud,一個低代碼開發(fā)平臺,需要購買他的資源,私房錢不多,放棄;/ {+ b) K" w! f( g6 T, \
2- DCloud,一個可以一次開發(fā),多端覆蓋的開發(fā)框架,就自己一個人使用,就一個平臺,不需要多端覆蓋,放棄;
' R$ m! Y: Q% C7 _1 }' n, ?, X$ L0 u8 q- i4 j7 ^
' m: [5 N. @$ a! Q# R9 S6 x

點評

URL可以這樣發(fā):ww去w.b掉aid中u.co文m  發(fā)表于 2022-10-1 11:40

評分

參與人數(shù) 1威望 +1 收起 理由
大白小白 + 1 思想深刻,見多識廣!

查看全部評分

10#
 樓主| 發(fā)表于 2021-1-6 11:49:29 | 只看該作者
機械自動化學(xué)者 發(fā)表于 2021-1-6 08:05# [8 C3 s) ?- |5 d
樓主牛批,期待更新

: c5 K& C" p. [- s9 R' w謝謝!不牛批,本人普通技術(shù)一枚,就是興趣廣一點,有一點點動手能力。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

Archiver|手機版|小黑屋|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-7-15 21:46 , Processed in 0.118553 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表