|
11
|
| Francis Shanahan · 技术社区 · 15 年前 |
|
|
1
8
尽管我个人并不喜欢一种风格胜过另一种风格,但我不认为Javascript的抽象是这些框架带来的唯一好处。当然,在抽象整个语言的过程中,会有一些以前可能的事情变得不可能,反之亦然。使用GWT这样的框架而不是编写香草JavaScript的决定取决于许多因素。
与上述问题有关的另一个方面是信任。我们不断地在低层抽象的基础上构建高层抽象,并依赖于这样一个事实,即低层的东西应该按预期工作。最后一次你是如何编译到C++或java程序的二进制中,以确保它正确工作?我们不相信,因为我们信任编译器。 此外,当使用这样一个框架时,例如使用JSNI回归JavaScript并不丢脸。这一切都是为了用手头的工具以最好的方式解决问题。JavaScript、Java、C#或Ruby等都不是什么神圣的东西。它们都是解决问题的工具,虽然它可能会成为你的障碍,但它可能是一个真正的节省时间的工具,而且对其他人有利。 至于我认为web编程将走向何方,我认为有许多有趣的趋势,或者更确切地说,我希望这些趋势会成功,比如服务器端的JavaScript。它为我解决了非常实际的问题,至少我们可以在web应用程序中轻松避免代码重复。相同的验证、逻辑等可以在客户端和服务器端共享。它还允许编写简单的(反)序列化机制,以便RPC或RMI通信变得非常容易。我的意思是,如果能写:
在客户端,而不是:
最后,我们在构建web应用程序的框架和解决方案方面拥有如此多的多样性是很好的,因为下一代解决方案可以从每个解决方案的失败中吸取教训,并专注于它们的成功,以构建更好、更快和更棒的工具。 |
|
|
2
20
应该避免使用JavaScript而支持X吗?尽一切办法!
为了我, ,与C在世界其他地区的作用相同。它是便携式的,广泛使用,它将保持。但我不想写JavaScript,就像我不想写汇编一样。我不想使用JavaScript作为语言的原因包括:
我们正试图在WebSharper中解决所有这些问题。例如,visualstudio中的WebSharper具有代码完成功能,即使它公开了第三方JavaScript api,比如extjs。但我们是否已经成功或将要失败并不是关键。关键是,解决这些问题是可能的,而且我希望是非常可取的。
这仅仅是关于以正确的方式编写编译器。例如,WebSharper以1-1的方式将F#lambda映射到JavaScript lambda(事实上,它从未引入lambda)。我也许会接受你的论点,如果你提到,比如说,韦伯尚不够成熟和测试,因此你是犹豫是否相信它。但是GWT已经存在了一段时间,应该会产生正确的代码。 归根结底,强类型语言要比非类型语言好得多——如果需要的话,您可以轻松地用它们编写非类型代码,但是您可以选择使用类型检查器,即程序员的拼写检查器。你为什么不呢?拒绝这样做在我看来有点鲁迪。 |
|
|
3
5
|
|
|
4
2
我的观点是,每个框架都有其优缺点,项目团队应该在包含一个框架之前评估它们的用例。对我来说,任何框架都只是用来解决问题的工具,你应该为这项工作挑选最好的框架。 我自己更喜欢使用纯JavaScript解决方案,但是我可以想到一些GWT会有所帮助的情况。 |
|
|
5
1
我知道这是一个过于简单的问题,因为像GWT这样的框架提供了很多其他的东西,但我是这样看待它的:如果你喜欢JavaScript,就写JavaScript;如果你不喜欢,就用GWT或者卡布奇诺什么的。 人们使用像GWT这样的框架的原因不一定是他们给出的抽象——你可以使用像ExtJS这样的JavaScript框架——而是他们允许你用JavaScript以外的东西编写web应用程序。如果我是一个想要编写web应用程序的Java程序员,我会使用GWT,因为我不必学习新的语言。
|