可以說(shuō) js會(huì)在現(xiàn)在以及未來(lái)很長(zhǎng)一段時(shí)間占據(jù)非常大的市場(chǎng)份額:
js弱類型,容易入門,寫法自由。特別適合初學(xué)者(但實(shí)際上也是其弱點(diǎn),太容易入門,太自由,你會(huì)發(fā)現(xiàn)完全掌握js非常困難。并且其弱類型,除非文檔有詳細(xì)說(shuō)明,或了解源碼,否則你真不知到具體函數(shù)返回類型是什么,參數(shù)是需要哪些類型)
nodejs的出現(xiàn),讓js真正成為全棧式語(yǔ)言,js從經(jīng)典的前端語(yǔ)言華麗的轉(zhuǎn)身為前后端大一統(tǒng)的語(yǔ)言。nodejs寫例如微信,小程序等,那是足夠鋒利。配合ibm出品的loopback庫(kù),足夠好用到爆!
目前js已經(jīng)成為各種操作系統(tǒng),各大中型應(yīng)用程序的首選內(nèi)嵌腳本語(yǔ)言。例如adobe所有的軟件系列(ps,ai,ae...)都提供了js dom for ps/ai...,使用js可以為adobe系列軟件開(kāi)發(fā)plugin。(我會(huì)寫幾篇文章,關(guān)于如何用js為ps開(kāi)發(fā)插件《讓我們用JS和PSDom來(lái)掌控Photoshop吧!-繪制篇》,以前寫過(guò)的一篇ps插件開(kāi)發(fā)文章,前幾天安裝了新版的ps測(cè)試一下,發(fā)現(xiàn)插件開(kāi)發(fā)變化比較大,研究研究后再繼續(xù))還有很多就不一一例舉了。
各個(gè)喜歡做標(biāo)準(zhǔn)的公司看到了js巨大市場(chǎng),推出了各自js引擎,google v8,mozilla spidermonkey,apple webkit中的javascript core以及新貴ms的chakra-core這四大c/c++實(shí)現(xiàn)的js引擎。這些js引擎可以被嵌入到各個(gè)應(yīng)用程序中,例如nodejs目前主流用v8但是微軟及mozilla都花力氣將v8.h中的結(jié)構(gòu)和api都shim到各自擁有的js引擎上去了。
由于js目前一些弱點(diǎn),微軟推出了typescript,強(qiáng)類型,面相對(duì)象,面相接口,范型編程。特適合有c++,java,c#經(jīng)驗(yàn)的程序員。
6.隨著技術(shù)的發(fā)展,很多mcu的內(nèi)存和時(shí)鐘頻率的加快,可以使用修剪版的js來(lái)進(jìn)行嵌入式編程控制硬件
所以js的未來(lái)會(huì)很美好
所以js可以成為(已經(jīng)成為)一門強(qiáng)大的通用語(yǔ)言!
閑聊js2: 創(chuàng)建一個(gè)演示用的渲染庫(kù)1
閑聊js3: js面向?qū)ο缶幊?es6和jsface庫(kù)技術(shù)選型)
閑聊js4: 創(chuàng)建一個(gè)演示用的渲染庫(kù)2 (es6版本)
閑聊js5: 創(chuàng)建一個(gè)演示用的渲染庫(kù)3(尺寸這些事)
閑聊js6: 創(chuàng)建一個(gè)演示用的渲染庫(kù)4(渲染表面,像素格式,光柵化,位塊傳輸,圖形與圖像)
閑聊js7: 創(chuàng)建一個(gè)演示用的渲染庫(kù)5(封裝常用的渲染方法)
閑聊js8: 創(chuàng)建一個(gè)演示用的渲染庫(kù)6(圖像顯示)
閑聊js9: 創(chuàng)建一個(gè)演示用的渲染庫(kù)7(渲染狀態(tài)及點(diǎn)集繪制)
閑聊js10: 創(chuàng)建一個(gè)演示用的渲染庫(kù)8(顏色和像素操作)
閑聊js11: 創(chuàng)建一個(gè)演示用的渲染庫(kù)9(關(guān)鍵的裁剪操作)
閑聊js12: 創(chuàng)建一個(gè)演示用的渲染庫(kù)10(坐標(biāo)軸繪制、空間變換及總結(jié)與展望)
閑聊js13: 實(shí)現(xiàn)一個(gè)關(guān)鍵的,最小化的,非場(chǎng)景圖類型的精靈系統(tǒng)(上)
閑聊js14: 實(shí)現(xiàn)一個(gè)關(guān)鍵的,最小化的,非場(chǎng)景圖類型的精靈系統(tǒng)(下)
閑聊js15: 動(dòng)畫、數(shù)學(xué)與碰撞檢測(cè)1(css3 3D動(dòng)畫 與 BLFEngine2D 協(xié)同作戰(zhàn))
閑聊js16: 動(dòng)畫、數(shù)學(xué)與碰撞檢測(cè)2(實(shí)現(xiàn)一個(gè)簡(jiǎn)單的事件分發(fā)和處理框架)
閑聊js17: 動(dòng)畫、數(shù)學(xué)與碰撞檢測(cè)3(介紹一個(gè)支持simd,消除裝箱拆箱的js數(shù)學(xué)庫(kù))
會(huì)繼續(xù)js相關(guān)的文章,目前決定先做一些演示數(shù)學(xué)原理的demo吧。
demo好了后再繼續(xù)寫文章。
下面的演示雖然足夠簡(jiǎn)單,但是是體現(xiàn)數(shù)學(xué)之美的一個(gè)很好的例子:
- tank和炮管的層次關(guān)系與變換
- 三個(gè)層次的優(yōu)化數(shù)學(xué)操作:
- 純粹三角函數(shù)(需要用到多次三角函數(shù)操作,而三角函數(shù)屬于浮點(diǎn)計(jì)算中中非常慢的操作)
- 當(dāng)我們引入矢量后,將減少90%的三角函數(shù)操作
- 當(dāng)我們將2d引入到3d中,構(gòu)建朝向矩陣后,所有的三角函數(shù)都被剔除掉
