JSDK 2.0正式发布!

伯约boyue 2020-06-13 07:51:39
使用JS已经二十多年,对于这门语言真是又爱又恨。
回想十三年前的那个心愿(让JS的开发变得像Java那样强大),经历了许多年许多波折许多艰辛,今天可以大声的说:我终于做到了让JS的开发达到了Java开发的水准!

[里程碑版本]
历经两年多的艰苦编码,新的JSDK(2.0)于昨晚在Github上正式发布!
https://github.com/fengboyue/jsdk

新版本完全基于ES6+TypeScript语法开发。
而且定义了自己的类库加载机制,与未来的ES规范也保持方向一致。——那些过时的类库加载模式用不着了。

在此,先感谢ES6、TypeScript团队!VSCode也让我的开发工作轻松许多,真的很棒!
没有他们的努力,JSDK无法达到如今的新高度。也只能是1.0之后的增强版,与YUI/Sencha或react/vue/Angular等后来者在同一水准上。

[JSDK的意义]
现在,越来越多的JS开发者已经意识到TypeScript的语法好处,开始转向用TS+VSCode开发类库或应用。但是,他们选择的各种基础JS框架带来了很多隐性问题。比如:与ES6语法不兼容;用不上TS语法;基础功能太弱;可移植性无;类库加载、组件定义真是千奇百怪。

这就好比,Java开发者都普遍使用最新Java语言规范且在Eclipse等IDE上编写Java代码(没有人仅仅只用早期过时的Java语言规范或用记事本写Java)。可是如果没有JDK,那么Java语言规范的版本再高也是一纸空文,于是Java工程师们都忙于去写或集成“各自的JDK”去了,那么Java的开发世界一定是非常混乱、低效和可怕的。

如果,我是“这样的Java世界”的一员,我得从头学习“各家公司的JDK”才能找得到工作。可悲又无奈!

但是如今,混乱的JS世界看到了两大利好:
一是:ES6与TS语法让JS的语法达到编译级语言的程度。
二是:JSDK 2.0发挥出ES6与TS语法的全部长处,可以完全解决JS通用库长期混乱的现状。

[新版功能]
很多新特性与功能,我就不在这里重复描述了,看官网文档吧:
https://fengboyue.github.io/jsdk/docs/#/zh/quick

[后续路线图]
在2.0的后续版上修BUG或局部增强,不发布大的新特性。
在3.0版本,计划提供动画库与游戏库,将对动画与游戏开发带来直接帮助。
(比如:1.0版本的JSGF游戏框架将被TS语言重写,移植到3.0上)

...全文
8816 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
伯约boyue 2020-07-11
  • 打赏
  • 举报
回复
今天发布2.1.0版本。 国内文档地址:http://fengboyue.gitee.io/jsdk/ 国外文档地址:https://fengboyue.github.io/jsdk/ 新增动画库:JSAN
伯约boyue 2020-07-10
  • 打赏
  • 举报
回复
一、Web早已不是那个表单页面的时代 二十年前的网站曾经是!雅虎早期页面曾经也是!谷歌第一版的页面曾经也是! 我二十多年前用JS开发HTML3.0应用时曾经也是。 那个时代,网页基本就是一组静态资源链接,最多的交互就是表单,几个函数操作就足够,何必谈组件或类复用。 在那个时代,后端的JSP也是一个servlet类的几个方法完成页面服务。哪需要什么webwork/springMVC框架。 不过一两年后,后端web服务迅速出现框架化,以应对沉重的代码复用需求。 同样,十多年前前端早已进入了组件化、应用化开发的时代(甚至在你学习C#和Java之前)。 试想一下,你仅仅用函数写组件(widget/component)而不使用任何继承、封装、重载等面向对象特性。你到后期会被自己蠢哭的!所以这十多年来,无数JS框架、类库、组件库的jser们模拟了各种类定义/类继承的语法糖(远在ES6/TS语法出来之前)来实现框架级或组件级的类代码复用。 二、TS是JS的最佳OOP方案 其实,反对TS的本质是反对JS语法面向对象化。如果你是ECMA组织的一员,你一定会反对ES6提案(因为竟然让class关键字得以实现)。谢天谢地,幸好你不是。 同样的,我也谢谢你不是Java和C#规范组织的早期成员,否则你会把这两门语言带成后台函数式编程语言如ASP/PHP的(PHP不得不从5.0开始支持OOP;ASP则废弃已久,早被OOP化的ASP.NET取代)。 值得一提,Java8开始支持箭头函数(作为一种快速的方法写法,算是吸取了函数式编程的一个优点),但完全不影响Java是100%的OOP语言的本质。 三、JSDK与单页面应用无关 JSDK中没有任何单页面导航的API,这类API可以集成第三方如angular/vue。 因为我觉得Web的本质是多页面的,没必要搞这些(但不等于我觉得单页面完全不好)。 四、对不起:不是驳斥你,是驳斥你的认知 两天前看到你的回复,我一直在犹豫要不要驳斥你的以下认知: “我觉得把上千个页面,做成单页面,本身就是反科学的。” “前端哪有什么大项目,每个页面都是一个小项目的。直接用原生Js都会很方便” 今天是周末,我决定写点回应,因为类似认知者不在少数。 (1)单页面不是一个或几个大大的文件,也是分多级子页面文件。 (2)每个页面的复杂度(页面复杂度与逻辑复杂度)与代码量如今都不小,用原生(哪怕仅仅用jQuery)写/调试/维护会“累死人”的。 (3)我对单页面的认知是:一种无跳转式良好用户体验的架构,也是一种强制与服务器交互全部API化(Ajax化)前端架构,更是一种减少服务端代码侵入的架构。坏处是:1、导航不受服务端控制;2、安全性不受服务端控制;3、一些必要的服务端代码植入困难(诸如:跟踪打点、头文本替换等);4、搜索引擎不友好。 (4)我在项目中使用的架构多数是多页面架构。有些时候使用单页面架构是合适的,比如:操作子页面多且不允许用户跳转的页面;H5游戏/大型交互式动画等页面;屏幕小功能多的H5手机APP。 (5)OOP并不可怕,项目中存在大量函数却无从复用才叫可怕,花海量时间阅读理解他人函数式代码才叫可怕。别说用函数写游戏了,用函数写UI组件都是维护黑洞。如果你是一个人开发一次性代码项目且无须严格测试,那就函数式开发吧,最多用用jquery这种工具函数库就够了。 (6)有人一定会问:“为什么项目中存在大量函数却无从复用”。答:函数复用仅仅只能是行为复用(20%),更多的场景(80%)是需要状态(+行为)复用的,只有类复用才能做到。
浴火_凤凰 2020-07-02
  • 打赏
  • 举报
回复
分享技术和知识者 都值得称赞!
医手 2020-07-02
  • 打赏
  • 举报
回复
我就是TypeScript的坚定反对者。 JavaScript就是因为弱类型解释型才无比灵活,无比自由。虽然用C#、Java十多年了,但我最喜欢的语言还是JavaScript。 如果你把一个网站上千个页面,做成单页面,我不得不承认这是一个大项目,没TypeScript没框架什么的,可能还真是不好搞。 但我觉得把上千个页面,做成单页面,本身就是反科学的。人们做事通常是把复杂分解,而不是把简单整成复杂。 如果分成一个页面又一个页面来做,前端哪有什么大项目,每个页面都是一个小项目的。直接用原生Js都会很方便。
chinaskysun 2020-06-15
  • 打赏
  • 举报
回复
hookee 2020-06-13
  • 打赏
  • 举报
回复

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧