小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 馬踏飛燕連環(huán)腿 2017-01-17

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


我趕快在書架上拿出三年前買的書,把上面的土擦干凈,壓壓驚。


作為一個并不是資深的程序員。 從程序員的角度分析一下微信小程序,歡迎指點。

首先吐槽

微信小程序只發(fā)了200個邀請?zhí)?,和我預(yù)想的一樣,張小龍并沒有翻我牌,難道就不能雨露均沾嗎?


先來了解下什么是微信小程序。 轉(zhuǎn)自知乎

微信也許重申了"我們是一款約炮軟件"


微信還提供了一大堆接口和組件(不好意思,說了句廢話)。



下面是禪叔的觀點:


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

證明:凡是能用JS開發(fā)的最終都會用JS開發(fā)

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


語言的設(shè)計者是有兩個派系的,有些人認(rèn)為程序員語言應(yīng)該防止程序員干蠢事,另一些認(rèn)為程序員應(yīng)該可以用編程語言干一切他們想干的事。 C/Java語言是前一個陣營的代表, JS是后一個陣營的代表。

往往第一個陣營的語言強(qiáng)調(diào)性能, int就是int,double就是double 還第二個陣營就是強(qiáng)調(diào)便利性 ,int是var , double還是var。

選擇語言的時候,其實就是在做選擇題。是選擇便利還是選擇性能。

往往新出的語言便利性都很強(qiáng),是因為硬件性能提高了,從而可以為了便利性放棄性能要求。

編程語言的主要矛盾就是程序開發(fā)的便利性和硬件水平的矛盾。

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

節(jié)儉是一種美德,浪費不一定是壞事情

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

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

浪費可以分成好的浪費和壞的浪費。用更多的浪費換來簡單的設(shè)計,并不是什么壞事。

如何才能充分利用新硬件更強(qiáng)大的性能最有利地“浪費”他們?

這時候問題就回到了開始, 證明:凡是能用JS開發(fā)的最終都會用JS開發(fā)

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


終有一天,你會在選擇的時候忽略性能,選擇便利性。

以前上學(xué)的時候,經(jīng)常去網(wǎng)吧玩大話西游和傳奇。而現(xiàn)在隨便一個頁游就能做出這種游戲效果。10年前你很難想象在網(wǎng)頁上能玩這種游戲。

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

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

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


我可以鄭重證明,不會的。

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

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

微信小程序會取代其它APP嗎?

問題回到我們的主題微信小程序上,微信小程序會取代其它APP嗎?

我的觀點很明確,
現(xiàn)在不會取代,以后會,但是以后會出現(xiàn)以后的微信取代不了的;以后的以后會取代以后的,但是以后的以后會出現(xiàn)以后的以后的微信取代不了的 .....

其實也不難解釋,10年前我們不能在網(wǎng)頁上玩?zhèn)髌妫?但是現(xiàn)在可以。但是現(xiàn)在又有了魔獸世界,也許10年后網(wǎng)頁上就能玩了,但那時候肯定還會出現(xiàn) 超級魔獸世界之類的游戲不能在網(wǎng)頁上玩。


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

有的人會擔(dān)心,微信小程序出來了, 做Android、iOS開發(fā)的會不會失業(yè)啊。

其實你大可放心,只要你會學(xué)習(xí),永遠(yuǎn)不會失業(yè),你不學(xué)習(xí),就算微信小程序沒有推出你也會失業(yè)。

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

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

具體怎么學(xué)???

看文檔學(xué)習(xí)唄, 首先了解JS語法基礎(chǔ), 了解React Native原理,學(xué)習(xí)JS , RN,H5,CSS,運營,測試,產(chǎn)品設(shè)計規(guī)范,圖形設(shè)計,神經(jīng)網(wǎng)絡(luò),OpenGL.........

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

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

有興趣學(xué)習(xí)微信小程序開發(fā)的可以關(guān)注簡書專題 微信小程序開發(fā)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多