Javascript大师说服我,我应该使用javascript编译为ds语言,如Dart或Typescript

 陈春红_2009932 发布于 2023-02-08 10:57

您好我即将开始开发大型前端应用程序,我正在研究什么是客户端生态系统的最佳选择.我是一个有Java背景的人,做了一段时间的Spring应用程序,在我的私人项目中,大多数逻辑部分都驻留在浏览器中.这是一个基于Web的图像处理和图表应用程序,需要大量的图形处理,高级用户交互,如拖放,我希望代码库足够大.我处理过写得不好的大型js代码库.这对我很头疼.然后我的javascript声名狼借.最初我在查看Google Web工具包.但我发现它不适合我的应用程序,因为它是复杂的抽象,因此在GWT中开发的成本非常昂贵.我完成了研究和规划阶段.最近我也换了Ruby来做我的日常工作.

我正在跟踪Dart语言的发展,因为它一开始就非常令人印象深刻.我喜欢类,mixin,库内置方法(对我而言,这是Javasript的巨大优势),Stream/Promise和Web Components等功能.我喜欢它严格的性质.dart语言的可选静态类型可以最大限度地减少应用程序的错误行为,并帮助我编写更有效/优化的代码.重要的是,我可以应用Java世界中使用的熟悉的设计模式和编程技术.现在我决定坚持下去或给予更多积分.

最近,我花了很多时间来发现更高级的Javascript用法.刚读完John Resig的"JavaScript忍者的秘密",让我大开眼界.我可以看到使用RequireJS和Grunt可以管理我的大型代码库.我读到人们说使用Dart的长期风险的论点.关注点是:

    编译的javascript源代码可能有意外的错误,并可能影响应用程序行为.

    Javascript正在发展.Ecma.next承诺提供诸如模块,地图和类等优秀功能.甚至可以使用traceur编写Ecma.next代码.

    如果谷歌在Chrome中发布原生dart vm.我的应用程序的性能会因其他浏览器而异.这不好.

    它没有被广泛采用,因此当您的应用程序增长时,很难找到在Dart中编码的优秀人员.

对我来说,这些都不足以让人放弃Dart.所以,如果你在Dart和Javascript方面都有一些有趣的观点,请告诉我.

这可能听起来像我很困惑,但这只是我研究的一部分.当然除了特定的编程语言或技术之外,还有应用程序架构/设计和模式等开发的其他部分.

2 个回答
  • 我投票赞成普通的JavaScript.每当您引入一种编译为JavaScript的新语言时,您最终会得到除框架引入的众多层之外的另一层抽象.花在评估JavaScript框架上的时间更好,而不是学习一种可以转化为另一种语言的语言.

    我已经构建了大型前端应用程序,你最好学习前端技术,因为相信我.当您的应用程序代码或浏览器本身出现错误时,您需要了解它们.

    由于您来自Java背景,想象每个计算机操作系统至少有4个JRE可用,您不确定它是什么.哦,所有这些JRE都是由不同的供应商构建的.现在您需要构建一个胖客户端GUI,并且您希望编写在编译时转换为Java的Ruby,因为您了解Ruby,而不是Java.

    你面临同样的情况.

    2023-02-08 11:02 回答
  • 1)Dart有助于抽象浏览器差异.我认为由于移动目标,这些技术可能会有错误.如果你想自己处理浏览器差异,这也很容易出错(恕我直言)或你使用像jQuery这样的库,这些库也很复杂并且可能有bug.

    2)但我认为这是Dart的一个好处,它有助于弥合浏览器的差异.我认为这是保持JavaScript的最大弱点,因为它也有一些很酷的功能.只有当所有目标浏览器都支持这些功能时,才能使用它们.在Dart中,您可以使用大多数这些功能.

    3)如果有一个浏览器具有更好的性能,那有什么不好?您仍然可以在Chrome上运行JavaScript版本,即使它具有本机Dart支持.

    4)无论用什么语言,好人都很难找到.但我认为好人可能会跳上新技术.Dart很容易学习.当您为Web开发时(CSS,浏览器错误,客户端/服务器应用程序架构......),您遇到的所有特性都很困难.语言本身通常是最少的问题.

    2023-02-08 11:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有