Haxe值得学习吗?

对于那些使用Haxe的人来说 ,是什么使它对你有用? 阅读网站看起来非常有前途。 它是否提供重要的便携性?

什么是现实世界,也许正在被赞赏的优势?

什么是陷阱或陷阱?

Haxe值得学习吗?

简短的回答是:绝对!

对于那些使用Haxe的人来说,是什么使它对你有用?

如果你是一个Web开发人员,你知道你不能坚持一个单一的技术太久。 迟早你必须处理环境或目标的变化(你为.NET开发,但重要的客户需要PHP,或者这个小部件应该在Flash而不是Javascript),这是最好的情况。 在最糟糕的情况下,你将不得不经常在同一个工作日多次切换。

这些开关可能会浪费你大量的时间,因为你需要改变你的编程范例太多次,可能是因为你在为特定目标编写库时会有很多重叠。 Haxe试图通过只有一种源语言(Haxe语言)和许多输出(通过Haxe编译器)来缓解过渡的痛苦。 语言非常友好,很容易学习,不pipe你的背景。

阅读网站看起来非常有前途。 它是否提供重要的便携性?

无论您部署到哪个平台,语言都是一样的。 因此,您可以用JS,Flash,C ++等相同的方式定义类/接口/枚举/types定义。如果您定义的types不依赖于特定的平台API,则可以毫不费力地从平台重用到平台。 所有平台也共享通用的API,如XML访问,HTTP连接和reflection。 拥有共同点的平台(例如Neko和PHP)共享相同的API,用于文件访问或Web服务器开发等。

什么是现实世界,也许正在被赞赏的优势?

  • 如果您对Flash / Flex有经验,那么您知道编译器如何减慢工作速度(唯一的好处是可以在等待的时候rest一下);)。 Haxe编译器速度快很多,大部分时间你甚至都不会注意到它的工作。
  • 生成的字节码比Adobe工具生成的字节码快得多。
  • 同样在Flash领域,Haxe可以“内联”function,或访问仅在其他地方通过使用炼金术可用的内存function。
  • 如果你需要它,你也可以决定从什么版本的Flash到目标,从6到10; API已经改变了很多,但是Haxe语言完全一样。

谈到服务器端,我们都知道PHP是如何无处不在的。 你可以用Haxe开发一个应用程序,如果你的web应用程序增长的话,可以扩展到Neko甚至C ++。

什么是陷阱或陷阱?

以下是一些常见的误解:

  • Haxe is young and immature Haxe现在已经快4岁了,已经有25个正式版本(不是新版本)+13个alpha和beta版本,不断更新,并且有一个非常敬业的社区。 它在很多发展领域被很多人专业使用; 看一下邮件列表存档 ,找出人们如何使用Haxe。

  • Haxe is complicated因为Haxe is complicated的主要目标是AS3没有任何问题,所以人们期望它必须有向导或GUI。 如上所述,Haxe是一种语言和编译器,它使得它适合程序员,但对devise人员来说不是很好。

  • There aren't any IDEs这个真正的部分是IDE可以在许多方面得到改进,以更好地与Haxe集成,但是已经有很多有效的select 。

  • The only book published is already outdated了。这里也有一些事实,不幸的是,这本书刚刚发布几个月之前(从V1到V2)。 这个主要版本并没有太大的改变,但确实增加了一些不兼容的地方。 这本书仍然是一个有效的资源(我不只是这样说,因为我写了)

“对于那些使用Haxe的人,是什么使它对你有用?”

作为一个创造性的闪光器,我真的没有看到AS3的重点了! 所以从Flash用户编码器/艺术家这里是我的:

在我目前的项目中,我有一个19岁的老师,在我的指导下,大部分时间线是AS2 / AS3,转移到Haxeclass,并且同时移植了AS2和AS3代码。 所以我不认为Haxe比AS3更难使用,或者在Flash中使用时明显不同。 就稳定性而言,我目前主要的抱怨是目前的Flash播放器方面,Haxe在开发Flash时确实比AS3稳定或者更稳定。

Flash的发展一直是一个不断变化的过程,创build一些随着Flash的变化而变得毫无用处的库(可能是因为他们每年都需要销售软件!),组件一直是我需要的东西,但是大小是愚蠢的,所以我不愿意跟随像羊一样进入Flex甚至移动到另一个XAML。

Haxe的主要优势在于,你可以开始真正想到创build与平台脱节的课程,并且从现在开始五年后基本上可以使用,我怀疑你创build的任何AS3都是如此,Haxe拥有的可能性较less我可以将代码编译为JavaScript,Silverlight或Google下一步提供的任何代码。

我对Haxe的主要问题是大多数的开发并没有在Mac上进行,所以编译C ++和Haxe的新特性有时会从Windows用户开始,但是我没有像Flash编译这样的核心Haxe问题。

就devise人员而言:我在运行时使用Flash IDE电影加载我的可视化资源,在AS3中开发时也一样,所以我的工作stream程不依赖于AS3 / Haxe,我喜欢简单的生活,所以我使用Textmate来处理AS3或Haxe。 我对Flash IDE及其强大的function感兴趣,但绝不会将其用于代码,而且我的大部分Flash工作主要是代码,所以我不是一些Linux核心,Haxe不会阻止您使用Flash IDE,但是如果您想要使用swfmill或萨姆你可以。

问题是:为什么浪费你的时间在一个商业语言AS3可能会改变只是为了销售未来的版本,只限于Flash播放器?

它没有花我很长的时间,我可以创build一个游戏或复杂IDE的JavaScript,而不需要jQuery等只是开箱即用的Haxe …它将跨浏览器等工作… Haxe让我把我的Flash编程技巧和界面开发的理解Flash以外(从来没有真正使用过JavaScript),如果我要学习纯JavaScript,我可能不会觉得如此启用,更像是有人削减我的arm,我会写非常特定于平台的代码,而现在我可以使用FEffects进行补间,然后添加一些编译器开关并编译到其他一些平台,并使用一些neash / nme。

其实我非常喜欢像编译器这样的types的智能,允许我的代码更清洁。 而typedef是辉煌的。

我看了一下PHP,觉得这是一种混乱的愚蠢的语言,而且对于JavaScript来说也是一样,我很高兴能够用Haxe来瞄准他们,而不必花费太多时间在黑客魔法上。

如果你喜欢为快速开发视觉创造力的代码,我认为Haxe是理想的语言,甚至作为一个自由职业者,我正在商业上使用它。

我对Haxe的看法,

警告以下段落是非常哲学的(实际的更进一步):

作为一个在短时间编程中已经开放了许多编程语言的人,以及当我觉得某些东西不适合我的时候只是简单地继续前进的人; 我发现哈克斯是我无法进步的东西,我只是不能“更好”而已。

过去我发现我花在一种特定语言上的时间与两个关键因素有关,我需要多less语言才能得到结果,以及我觉得这种语言是多么容易掌握。 但是对于哈克斯来说,这个把握的时间要短得多,我把这归功于我用各种语言积累的知识。 在哈克斯之前,我从来没有find一个真正适合我的人,而且他觉得正确,他们要么难以理解,要么就是毫无用处。 至less从我的angular度来看是无用的。

Haxe让我对自己的写作有了更多的expression能力,我不是说每个人都会谈论的语言的“performance力”,我的意思是有能力只有一个想法并运行,才能尝试我觉得是对的。 无论成功还是完全失败。

对于我来说,Haxe一直是一个非常简单的学习曲线,我用c风格语言和AS2 / 3的基本背景,并没有真正遇到任何麻烦。 有一件事情总是阻碍我用一种新语言来进步,就是理解这个特定语法/框架背后的概念,但是即使有一次我通过了这个障碍,我经常会发现语言本身是有限的,有限的,或者两者兼而有之。 对于Haxe,我既不受限制,也不会发现语言本身来限制我。 Haxe没有玻璃天花板,但它是一个玻璃地板,因为你可以做的事情没有限制,但你可以清楚地看到你是怎么到达的

拿起哈克斯并不像拿起棍棒,开火,也不是去买氧乙炔套,并开始着火。 从这个意义上来说,Haxe更接近一场比赛,可以重复使用。 它几乎涵盖了您习惯的所有转换,但增加了有用的新function。 但是要做到这一点,并不是完全重新发明轮子,它只是修复烂的位。 (在下一段中可以less一些类比)

实用的东西:

这种语言简单易用,标准化,同时仍然允许程序员尽可能地去。

你可以编写一个非常高层次的代码,或去摆弄一些小零件(在一些平台上严重)

Haxe并没有规定在任何一个平台上你能做什么,不能做什么,它给了(或者计划给你)所有的东西,但是它可以增加一个标准的做事方式。

邮件列表是非常有帮助和响应,论坛现在正在加快步伐。

语言不断地被改变(以小的方式),每个版本都增加了新的东西。

主API的实际错误很less,而编译器的错误更less。

每个人都公开谈论这个语言的方向和他们为Haxebuild议的方向(当然,为什么它应该采取这个方向)

最后,Haxe并不是大公司(甚至是小公司)为了从开发者身上赚钱而创build的一个大型私人企业,而是为所有开发人员使用,构build和改进而创build的。 这就是为什么我觉得Haxe是我想成为的地方。 (现在回到编码)

如果你想有一个简短的答案: YES!

对于那些使用Haxe的人来说,是什么使它对你有用?

大部分时间我都在服务器端使用Haxe。 (这意味着PHP或neko目标)。 在我看来,PHP是我用过的最吸吮的语言,这就是我开始使用Haxe的原因:有一个可用的语言。

对我来说另一个好处就是,Haxe是开源的。

它是否提供重要的便携性?

在不同的目标上有相同的代码! 我无法想象有什么办法可以有更多的可移植性。

将一个网站从PHP迁移到mod_tora ,执行速度比PHP快40-80倍,只需要5分钟的工作时间。

什么是现实世界,也许正在被赞赏的优势?

  • 代码的可移植性和平台之间通信的优秀选项的最大优势在于,在客户端和服务器之间处理数据从未如此简单。 (看一下wiki中的Remoting部分)
  • 社区很棒 。 (如果你喜欢邮件列表,至less:-)
  • 另一件事是:如果你需要执行非Haxe支持的平台本地操作(这很less发生),Haxe总是给你select目标。 这就是所谓的Haxe魔法 。 换句话说,您可以使用平台的本地语言来完成所有工作,以及Haxe为您提供的所有好事。

什么是陷阱或陷阱?

  • 文档,有时候安装不是100%完美的。 对IDE的支持可以得到很大的提高。
  • 此外,JavaScript的目标有时很难使用,因为Haxe提供了一个非常好的语言,但是最常见的DOM操作的框架缺失,但我认为有些人正在努力;-)
  • 如果我必须为客户工作,他们有时不喜欢这个想法,用这样一种未知的语言来实现他们的项目。

PS:我认为学习一种新语言总是值得的,因为它提高了你的编程技能和经验。

那么你的问题已经回答了,但我想补充一些简短的说明。

在第一次testing之后,我学习和使用了Haxe,并一直使用它。 这是我学到的第一门语言(当时我还在上大学),这让我明白了语言和API之间的差异。

你在大学看到我第一次学习AS2,然后是PHP,然后是一些Javascript。 我们没有正式的编程介绍(而且我也没有学习计算机科学)。 这些语言都与平台相关联,所以作为一个新手程序员,我自动假设strlen()是PHP,MovieClip是AS2,…

通过使用Haxe,我确实了解了面向对象devise的价值,因为平台不再限制我的课程。 我可以在我的常规Web代码中重用为Flash项目编写的代码,如果我将它们从平台特性中分离出来的话。

由于可以用来在平台之间进行通信的优秀的远程类,我也意识到XML并不是那么特别,JSON也没有,没有代码就没有意义。

对于刚刚开始编程的像我这样的人来说,这是一个相当大的启示,当时XML很“酷”,对所有的东西都有好处;-)

Haxe是一种非常宝贵的语言。 它的许多加分常常被忽视。 例如,它具有梦幻般的内置库,使得应用程序开发变得更加简单,比如一个简单而强大的ORM(Neko / PHP),全跨平台的远程处理(Flash / JS / PHP / C ++ / Neko)支持的平台可以与任何其他平台,一个坚实的正则expression式库(除了Flash <8之外的所有支持)等等无缝沟通。

作为一个说明,我最近使用Haxe编写了一个PHP / JS / Flash应用程序,发现其开发速度呈指数级增长。

当然,Haxe可能不是以devise者为中心的,但也不是硬核。 Haxe非常容易学习和重用,随着目标平台数量的增加,Haxe开发人员也可以针对这些目标,而不必学习任何新东西。

Haxe的主要用途仍然限于Flash开发。 我只是慢慢变暖的想法,它可以用于其他目标。 我仍然没有看到这方面的优势,并直接在PHP和JS做我的PHP和JS。

尽pipe我没有为Neko后端开发,但是它是非常好的支持,因为这意味着我可以为代码编写testing用例,并将它们集成到构build脚本中,而不是只能在Flash Player中运行它们。 这是一个很好的优势。

代码和开发的开放性也是一个很好的优势。 我真的需要一个预处理器,所以#线支持被添加到Haxe。 我不认为Adobe会严肃对待我的请求。

我发现作为一种types化的语言比许多新的现代语言具有巨大的优势。

在语言一致性和后端透明度方面有几个缺陷。 我列出了那些影响我的列表。 当然在这方面没有语言是完美的,但是我对新语言有这么多的话感到失望。

主观上我发现我比其他任何语言都更有效率。 我使用haxe主要针对neko和JavaScript。

编译器本身非常快,这使我可以像使用脚本语言一样使用haxe。 它倾向于面向对象,但有一些function工具; 第一类function,function匹配,lambda库。

我发现neko的速度是足够的,而且对于受限制的环境来说它的图像尺寸很小。 这是C FFI非常好 – 添加新function非常简单。

我用我的JavaScript客户端控制器haxe,发射事件到标准的jQuery视图。 这样做的效果非常好,因为您可以同时键入检查客户端和服务器代码,同时保持无types的原始js为最小,并保留通常的js库的好处。 JSON库可用。 顺便说一句,虽然haxe确实与mod_ *为apache等,我觉得使用代理更加灵活,所以我可以在networking服务器后面设置多个neko实例。

总的来说,我认为它是非常全面的,深思熟虑 – 批判性地在所有平台上广告。

BD

我一直在个人和专业用途编码Haxe大约2年。 有一些优点是它不会从其他语言中获得,最大的优势在于它几乎从一开始就被devise为一个现代化的生产级编译器,它可以灵活地适应新的平台并利用其独特的function。 这使得它成为C的更高版本中最接近的东西。如果你在Haxe中编写代码,你可以指望它坚持到底。

社区的使用比你想象的更强 – 我根据压缩的千字节(来自http://lists.motion-twin.com/pipermail/haxe/ )的数据对列表stream量做了一些分析,结果显示自2006年以来每年增长25-50%(1 – 9月)。在过去的六个月里,stream量真的爆炸了,我正在认真考虑去消化,否则如果我离开的话,我的收件箱里就会充斥着数以百计的Haxe消息它超过一天。 它不像其他语言那样被炒作,但是这反过来又意味着那些把车子拖到Haxe的人往往是自信的,消息灵通的程序员。

人们已经在其他语境中尝试过使用语言到语言的编译器(在任何地方使用Python,或者在JS中使用Ruby),但是这些语言是针对不同的地方和目的而devise的,而在翻译方面却失去了很多最好的方面,结果很酷,但不适合日常工作。 Haxe不喜欢那样的感觉; 虽然没有来自语言/运行时集成的便利,但现在还有很多其他的酷东西提供。

是的,完全

但是它需要一个更好的IDE和文档,缺乏一个伟大的IDE(就像一个基于Eclipse的)对我来说是完全不同的,而我无法达到我在其他语言中由此产生的生产力水平。

语言=伟大 – 英里最好的发展环境=穷人(在这个时候和imho)

自开始以来,我就把哈克斯当成了雷达。 我同意这看起来很有希望,但我注意到开发人员并没有像预期的那样快速采用它(与RoR甚至Flex相比)。

不pipeHaxe现在对你有多好,适合你,你仍然会成为早期使用者,你一定会遇到早期采用者通常面临的问题。

虽然有非常活跃的邮件列表和非常有帮助的成员,但是我仍然要等到更多的人join,更多的书和资源才会写出来。

最后,Haxe帮助您使用单一语言编写代码,并针对不同的平台(主要是JS和Flash,现在是NekoVM,PHP和C ++),您真的需要这样吗?