我覺得這個問題,問得有點像,請問我們或者應(yīng)該吃點有營養(yǎng)的嗎?咱們首先說APP開發(fā)和英語有啥關(guān)系,學(xué)好英語,這個沒啥說得了吧,查文檔,Google,這些都要一定的英語水平。再說說現(xiàn)狀吧,國內(nèi)的那些網(wǎng)站的文章我真的是不敢恭維。有的東西不會 Google 一下第一個就是,百度半天都搜索不出來。英語真的是很重要,在學(xué)習(xí) Swift 的時候我從頭到尾都幾乎沒看過中文的東西。開始可能很難受,就像你開始不懂英語在國外生活一樣,但是逼著你逼著自己看,慢慢就好了。還有在這里我希望大家可以科學(xué)上網(wǎng),如果不能用goole你會發(fā)現(xiàn)你的APP開發(fā)學(xué)習(xí)基本就和死了一半一樣。
要不要學(xué)好數(shù)學(xué),如果是初學(xué)者的話,你可以不用問了,這個有些遙遠(yuǎn),不過我舉個例子吧。我們舉一個例子你也就明白了,再ios開發(fā),很多人玩 Workflow,其實編寫這些 Workflow 的人就具備編程的潛力了,因為至少邏輯很強(qiáng)。有一個應(yīng)用,利用 Workflow 顯示附近的免費 Wi-Fi。作者通過 Workflow 調(diào)用了聚合數(shù)據(jù)的 API,然后 API 就直接返回了附近的 Wifi 名稱。同樣,很多 App 調(diào)用了一個 API 然后 API 返回了位置,這個 API 我們應(yīng)該怎么開發(fā)呢?從下圖中可以看出,我請求時候填入我的坐標(biāo),精度 53.383,維度 -1.47 之后請求這個地址,服務(wù)器就會返回我的位置。你知道這個APP的開發(fā)API是怎么做的嗎?有沒有想過這背后的原理?假設(shè)我數(shù)據(jù)庫中有 10000個位置的精度緯度,我提供一個經(jīng)緯度如何知道我離哪個位置比較近呢?用學(xué)過的知識能大概想出來,用兩點間距離公式。分別算出這 10000 個城市的坐標(biāo)與你坐標(biāo)的距離然后排序,最小的一個就是。這樣做是可以的。但是要是數(shù)據(jù)庫中有十萬位置呢?市哭了嗎?同時又有一千個人在請求這個app的API接口呢?哈哈,估計咱們的服務(wù)器真的算的過來這一億個距離,就掛了?所以這個算法必須要經(jīng)過優(yōu)化。
所以說學(xué)好數(shù)學(xué)也是相當(dāng)重要的,盡管短期內(nèi)難以體現(xiàn)數(shù)學(xué)和算法的重要。編程,重要的不是語法,是思維。明白了,數(shù)學(xué)英語都是工具,不是決定,二真正決定你的是思維,思維方式和邏輯思維能力。尚武科技APP開發(fā)積累也就是這樣一點點積累和走過來的。