問(wèn)答2: 對(duì)《目前javascript的方向在哪里?》的回答

可以說(shuō) js會(huì)在現(xiàn)在以及未來(lái)很長(zhǎng)一段時(shí)間占據(jù)非常大的市場(chǎng)份額:

  1. js弱類型,容易入門,寫法自由。特別適合初學(xué)者(但實(shí)際上也是其弱點(diǎn),太容易入門,太自由,你會(huì)發(fā)現(xiàn)完全掌握js非常困難。并且其弱類型,除非文檔有詳細(xì)說(shuō)明,或了解源碼,否則你真不知到具體函數(shù)返回類型是什么,參數(shù)是需要哪些類型)

  2. nodejs的出現(xiàn),讓js真正成為全棧式語(yǔ)言,js從經(jīng)典的前端語(yǔ)言華麗的轉(zhuǎn)身為前后端大一統(tǒng)的語(yǔ)言。nodejs寫例如微信,小程序等,那是足夠鋒利。配合ibm出品的loopback庫(kù),足夠好用到爆!

  3. 目前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ù))還有很多就不一一例舉了。

  4. 各個(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引擎上去了。

  5. 由于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ǔ)言!


閑聊js1: nodejs中的類定義和繼承的套路


閑聊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é)操作:
  1. 純粹三角函數(shù)(需要用到多次三角函數(shù)操作,而三角函數(shù)屬于浮點(diǎn)計(jì)算中中非常慢的操作)
  2. 當(dāng)我們引入矢量后,將減少90%的三角函數(shù)操作
  3. 當(dāng)我們將2d引入到3d中,構(gòu)建朝向矩陣后,所有的三角函數(shù)都被剔除掉
tank_demo-0-9.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容