服務(wù)熱線:18609840880

常見(jiàn)問(wèn)題

建站知識(shí)

您當(dāng)前位置:首頁(yè) > 常見(jiàn)問(wèn)題

從程序員的角度分析微信小程序

發(fā)布時(shí)間:2018-05-02

昨天朋友圈被微信小程序刷爆了。

我趕快在書(shū)架上拿出三年前買的書(shū),把上面的土擦干凈,壓壓驚。
作為一個(gè)并不是資深的程序員。 從程序員的角度分析一下微信小程序,歡迎指點(diǎn)。

首先吐槽
微信小程序只發(fā)了200個(gè)邀請(qǐng)?zhí)?,和我預(yù)想的一樣,張小龍并沒(méi)有翻我牌,難道就不能雨露均沾嗎?

先來(lái)了解下什么是微信小程序。 轉(zhuǎn)自知乎
微信也許重申了”我們是一款約炮軟件”
微信還提供了一大堆接口和組件(不好意思,說(shuō)了句廢話)。
下面是闡述的觀點(diǎn):


小程序原理就是用JS調(diào)用底層native組件,和React Native非常類似。恰恰又證明了,凡是能用JS開(kāi)發(fā)的終都會(huì)用JS開(kāi)發(fā)。
證明:凡是能用JS開(kāi)發(fā)的終都會(huì)用JS開(kāi)發(fā)

解:
據(jù)我多年經(jīng)驗(yàn),這句話是一個(gè)真命題。


語(yǔ)言的設(shè)計(jì)者是有兩個(gè)派系的,有些人認(rèn)為程序員語(yǔ)言應(yīng)該防止程序員干蠢事,另一些認(rèn)為程序員應(yīng)該可以用編程語(yǔ)言干一切他們想干的事。 C/Java語(yǔ)言是前一個(gè)陣營(yíng)的代表, JS是后一個(gè)陣營(yíng)的代表。
往往先進(jìn)個(gè)陣營(yíng)的語(yǔ)言強(qiáng)調(diào)性能, int就是int,double就是double 還第二個(gè)陣營(yíng)就是強(qiáng)調(diào)便利性 ,int是var , double還是var。

選擇語(yǔ)言的時(shí)候,其實(shí)就是在做選擇題。是選擇便利還是選擇性能。

往往新出的語(yǔ)言便利性都很強(qiáng),是因?yàn)橛布阅芴岣吡?,從而可以為了便利性放棄性能要求?br />
編程語(yǔ)言的主要矛盾就是程序開(kāi)發(fā)的便利性和硬件水平的矛盾。

如果能夠穿越回到70年代(首先在中南海西面買塊地), 那時(shí)候你坐在龐大的計(jì)算機(jī)面前寫(xiě)代碼的時(shí)候,無(wú)意間小手一抖,多敲倆空格,然后程序oom。
不要感覺(jué)上面的事情不可思議,那時(shí)候內(nèi)存低的可憐,每一個(gè)字符都是嚴(yán)格定義的,不允許任何浪費(fèi)。能運(yùn)行java虛擬機(jī)都是天方夜譚,怎么可能會(huì)有java語(yǔ)言。

節(jié)儉是一種美德,浪費(fèi)不一定是壞事情
隨著硬件性能的提高,出現(xiàn)了越來(lái)越多的編程語(yǔ)言,新出的語(yǔ)言往往性能上浪費(fèi),便利性上提高。要是按照幾十年前的標(biāo)準(zhǔn)衡量,有一些使用新語(yǔ)言開(kāi)發(fā)的熱門應(yīng)用程序?qū)τ布Y源浪費(fèi)非常驚人。

不僅編程語(yǔ)言有這種現(xiàn)象,這實(shí)際是一種普遍的歷史趨勢(shì), 隨著技術(shù)的發(fā)展,每一代人都在做上一代人覺(jué)得浪費(fèi)的事情。你可以想象下30年前打個(gè)長(zhǎng)途電話,而現(xiàn)在,別說(shuō)長(zhǎng)途電話了, 有的人都就坐飛機(jī)去約炮了,這個(gè)在以前很難想象。

浪費(fèi)可以分成好的浪費(fèi)和壞的浪費(fèi)。用更多的浪費(fèi)換來(lái)簡(jiǎn)單的設(shè)計(jì),并不是什么壞事。

如何才能充分利用新硬件更強(qiáng)大的性能有利地“浪費(fèi)”他們?
這時(shí)候問(wèn)題就回到了開(kāi)始, 證明:凡是能用JS開(kāi)發(fā)的終都會(huì)用JS開(kāi)發(fā)

JS這種語(yǔ)言擴(kuò)展性極強(qiáng), 性能比起其它語(yǔ)言只能呵呵了。 但是硬件速度會(huì)提高很快。
Paul Graham算過(guò),如果摩爾定律一直成立。一百年后計(jì)算機(jī)的運(yùn)行速度是現(xiàn)在的74乘以10的18次方倍。(準(zhǔn)確地說(shuō)是73 786 976 294 838 206 464倍)
這里寫(xiě)圖片描述

終有一天,你會(huì)在選擇的時(shí)候忽略性能,選擇便利性。
以前上學(xué)的時(shí)候,經(jīng)常去網(wǎng)吧玩大話西游和傳奇。而現(xiàn)在隨便一個(gè)頁(yè)游就能做出這種游戲效果。10年前你很難想象在網(wǎng)頁(yè)上能玩這種游戲。

你現(xiàn)在就可以嘗試想象一下若干年后,打開(kāi)網(wǎng)頁(yè)能玩魔獸世界。這并不是不可能實(shí)現(xiàn)的。

強(qiáng)調(diào)性能的語(yǔ)言還能否生存

我們都知道C/C++ 就是強(qiáng)調(diào)性能的語(yǔ)言, 我們做游戲或者視頻播放的都是要求性能的。他們會(huì)不會(huì)被新的語(yǔ)言取代呢?


我可以鄭重證明,不會(huì)的。

雖然上面我說(shuō)的Java語(yǔ)言屬于強(qiáng)調(diào)性能的先進(jìn)陣營(yíng)的語(yǔ)言。但是相對(duì)于C/C++ 它顯然是增強(qiáng)了便利性。
語(yǔ)言是發(fā)展的,是迭代的, 隨著硬件性能提高,基本上每個(gè)節(jié)點(diǎn)下都會(huì)產(chǎn)生新的語(yǔ)言,相對(duì)于之前的語(yǔ)言浪費(fèi)性能,增強(qiáng)便利性。

但是很難取代之前的語(yǔ)言,對(duì)性能要求高的程序依然會(huì)出現(xiàn)的, 即使以后可以在網(wǎng)頁(yè)上玩魔獸世界,但是還會(huì)出現(xiàn) 超級(jí)魔獸世界,泰坦世界, 宇宙世界 等等一大堆新的對(duì)性能要求較高的游戲。

微信小程序會(huì)取代其它APP嗎?

問(wèn)題回到我們的主題微信小程序上,微信小程序會(huì)取代其它APP嗎?

我的觀點(diǎn)很明確,
現(xiàn)在不會(huì)取代,以后會(huì),但是以后會(huì)出現(xiàn)以后的微信取代不了的;以后的以后會(huì)取代以后的,但是以后的以后會(huì)出現(xiàn)以后的以后的微信取代不了的 …..
其實(shí)也不難解釋,10年前我們不能在網(wǎng)頁(yè)上玩?zhèn)髌妫?但是現(xiàn)在可以。但是現(xiàn)在又有了魔獸世界,也許10年后網(wǎng)頁(yè)上就能玩了,但那時(shí)候肯定還會(huì)出現(xiàn) 超級(jí)魔獸世界之類的游戲不能在網(wǎng)頁(yè)上玩。


作為一個(gè)程序員,我們需要學(xué)什么?

有的人會(huì)擔(dān)心,微信小程序出來(lái)了, 做Android、IOS開(kāi)發(fā)的會(huì)不會(huì)失業(yè)啊。
其實(shí)你大可放心,只要你會(huì)學(xué)習(xí),永遠(yuǎn)不會(huì)失業(yè),你不學(xué)習(xí),就算微信小程序沒(méi)有推出你也會(huì)失業(yè)。

就目前而言,小程序始終是小,場(chǎng)景有限。還不能完全取代APP , 還可以通過(guò)小程序引導(dǎo)用戶下載APP。就像簡(jiǎn)書(shū)一樣,網(wǎng)頁(yè)端能瀏覽不代表不開(kāi)發(fā)APP軟件。

但是要認(rèn)清大的趨勢(shì), 這段時(shí)間就是用來(lái)給你學(xué)習(xí)的。

具體怎么學(xué)?。?br /> 看文檔學(xué)習(xí)唄, 首先了解JS語(yǔ)法基礎(chǔ), 了解React Native原理,學(xué)習(xí)JS , RN,H5,CSS,運(yùn)營(yíng),測(cè)試,產(chǎn)品設(shè)計(jì)規(guī)范,圖形設(shè)計(jì),神經(jīng)網(wǎng)絡(luò),OpenGL………

總之,根據(jù)具體文檔,用到什么學(xué)什么。

作為一個(gè)程序員,你可以忘了學(xué)習(xí)的高數(shù),可以忘了學(xué)習(xí)的英語(yǔ),可以忘了學(xué)習(xí)的線性代數(shù)…. 但是千萬(wàn)別忘了學(xué)習(xí)。

微信小程序出書(shū)了,你可以看書(shū)學(xué)習(xí)。

大連新圖聞科技有限公司是一家品牌設(shè)計(jì)服務(wù)提供商,企業(yè) 網(wǎng)絡(luò)服務(wù)品牌,也是企業(yè)郵箱“盈世”的大連地區(qū)代理商。 公司服務(wù)項(xiàng)目包括網(wǎng)站建設(shè)、平面設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷推廣、商 業(yè)攝影、企業(yè)郵箱等,幫助客戶提高企業(yè)綜合競(jìng)爭(zhēng)能力。

18609840880(微信同步)

市場(chǎng)部 : 8001@newtwowin.com
業(yè)務(wù)聯(lián)系,業(yè)務(wù)需求請(qǐng)發(fā)到此郵箱.

QQ咨詢: 94091176
客服部:xxz@newtwowin.com
地址:大連市西安路羅斯福B座3109