问答2: 对《目前javascript的方向在哪里?》的回答

可以说 js会在现在以及未来很长一段时间占据非常大的市场份额:

  1. js弱类型,容易入门,写法自由。特别适合初学者(但实际上也是其弱点,太容易入门,太自由,你会发现完全掌握js非常困难。并且其弱类型,除非文档有详细说明,或了解源码,否则你真不知到具体函数返回类型是什么,参数是需要哪些类型)

  2. nodejs的出现,让js真正成为全栈式语言,js从经典的前端语言华丽的转身为前后端大一统的语言。nodejs写例如微信,小程序等,那是足够锋利。配合ibm出品的loopback库,足够好用到爆!

  3. 目前js已经成为各种操作系统,各大中型应用程序的首选内嵌脚本语言。例如adobe所有的软件系列(ps,ai,ae...)都提供了js dom for ps/ai...,使用js可以为adobe系列软件开发plugin。(我会写几篇文章,关于如何用js为ps开发插件《让我们用JS和PSDom来掌控Photoshop吧!-绘制篇》,以前写过的一篇ps插件开发文章,前几天安装了新版的ps测试一下,发现插件开发变化比较大,研究研究后再继续)还有很多就不一一例举了。

  4. 各个喜欢做标准的公司看到了js巨大市场,推出了各自js引擎,google v8,mozilla spidermonkey,apple webkit中的javascript core以及新贵ms的chakra-core这四大c/c++实现的js引擎。这些js引擎可以被嵌入到各个应用程序中,例如nodejs目前主流用v8但是微软及mozilla都花力气将v8.h中的结构和api都shim到各自拥有的js引擎上去了。

  5. 由于js目前一些弱点,微软推出了typescript,强类型,面相对象,面相接口,范型编程。特适合有c++,java,c#经验的程序员。

6.随着技术的发展,很多mcu的内存和时钟频率的加快,可以使用修剪版的js来进行嵌入式编程控制硬件

所以js的未来会很美好

所以js可以成为(已经成为)一门强大的通用语言!


闲聊js1: nodejs中的类定义和继承的套路


闲聊js2: 创建一个演示用的渲染库1
闲聊js3: js面向对象编程(es6和jsface库技术选型)
闲聊js4: 创建一个演示用的渲染库2 (es6版本)
闲聊js5: 创建一个演示用的渲染库3(尺寸这些事)
闲聊js6: 创建一个演示用的渲染库4(渲染表面,像素格式,光栅化,位块传输,图形与图像)
闲聊js7: 创建一个演示用的渲染库5(封装常用的渲染方法)
闲聊js8: 创建一个演示用的渲染库6(图像显示)
闲聊js9: 创建一个演示用的渲染库7(渲染状态及点集绘制)
闲聊js10: 创建一个演示用的渲染库8(颜色和像素操作)
闲聊js11: 创建一个演示用的渲染库9(关键的裁剪操作)
闲聊js12: 创建一个演示用的渲染库10(坐标轴绘制、空间变换及总结与展望)


闲聊js13: 实现一个关键的,最小化的,非场景图类型的精灵系统(上)
闲聊js14: 实现一个关键的,最小化的,非场景图类型的精灵系统(下)


闲聊js15: 动画、数学与碰撞检测1(css3 3D动画 与 BLFEngine2D 协同作战)
闲聊js16: 动画、数学与碰撞检测2(实现一个简单的事件分发和处理框架)
闲聊js17: 动画、数学与碰撞检测3(介绍一个支持simd,消除装箱拆箱的js数学库)

会继续js相关的文章,目前决定先做一些演示数学原理的demo吧。

demo好了后再继续写文章。

下面的演示虽然足够简单,但是是体现数学之美的一个很好的例子:

  • tank和炮管的层次关系与变换
  • 三个层次的优化数学操作:
  1. 纯粹三角函数(需要用到多次三角函数操作,而三角函数属于浮点计算中中非常慢的操作)
  2. 当我们引入矢量后,将减少90%的三角函数操作
  3. 当我们将2d引入到3d中,构建朝向矩阵后,所有的三角函数都被剔除掉
问答2: 对《目前javascript的方向在哪里?》的回答_第1张图片
tank_demo-0-9.gif

你可能感兴趣的:(问答2: 对《目前javascript的方向在哪里?》的回答)