Haxe值得学习吗?

Gor*_*ter 152 haxe

对于那些使用Haxe的人来说,是什么让它对你有用?阅读网站看起来很有前途.它是否提供了重要的可移植性?

什么是现实世界,也许还有一些受到重视的优势?

有什么陷阱或陷阱?

Fra*_*lli 127

Haxe值得学习吗?

简短的回答是:绝对!

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

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

这些开关可能会浪费你很多时间,因为你需要更改你的编程范例太多次,并且可能因为你在为特定目标编写库时会有很多重叠.Haxe试图通过只使用一种源语言(Haxe语言)和许多输出(通过Haxe编译器)来缓解过渡的痛苦.无论您的背景如何,该语言都非常友好且易于学习.

阅读网站看起来很有前途.它是否提供了重要的可移植性?

无论您部署到哪个平台,语言都是相同的.因此,您可以以相同的方式为JS,Flash,C++等定义classes/interfaces/enums/typedef.如果您定义的那些类型不依赖于特定的平台API,那么它们可以在平台之间重复使用而不需要任何努力.所有平台还共享通用API,如XML访问,HTTP连接和反射.具有共同点的平台(即Neko和PHP)共享相同的API,用于文件访问或Web服务器开发.

什么是现实世界,也许还有一些受到重视的优势?

  • 如果您有使用Flash/Flex的经验,您就会知道编译器如何减慢您的工作速度(唯一的优势就是可以在等待时喝咖啡休息时间;)).Haxe编译器的速度要快很多倍,以至于大多数时候你都没有注意到它的运行速度.
  • 生成的字节码比Adobe工具生成的等效码快得多.
  • 同样在Flash领域,Haxe可以使用Alchemy"内联"函数或访问仅在其他地方可用的内存功能.
  • 如果您需要它,您还可以决定要定位的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的主要目标没有任何问题AS3,人们期望它必须有向导或GUI.如上所述,Haxe是一种语言和编译器,它使其适合程序员,但对设计人员来说不是很好.

  • There aren't any IDEs真正的部分是IDE可以在很多方面进行改进以更好地与Haxe集成,但是已经有很多有效的选项.

  • The only book published is already outdated这里也有一些道理,遗憾的是这本书是在主要版本发布前几个月发布的(从V1到V2).主要版本没有太大变化,但确实增加了一些不兼容性.这本书仍然是一个有效的资源(我不只是说,因为我写了它;))

  • 对于haXe也有一些缺点 - 不仅仅是赞美. (34认同)

小智 25

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

作为一个创意闪光灯,我真的不再看到AS3中的重点了!所以从Flash用户编码/艺术家这里是我的看法:

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

Flash演变一直是创建库的一个持续过程,随着Flash的变化而变得无用(他们每年都需要销售软件!?),组件一直是我需要的东西,但是尺寸很傻,所以我不愿意像羊一样跟随Flex,甚至转向替代XAML.

Haxe的主要优点是,你可以开始真正想到创建与平台脱节的类,并且从现在开始大部分时间都可用,我怀疑你创建的任何AS3都是如此,Haxe可能没有那么多我可以将代码编译为JavaScript,Silverlight或Google接下来提供的任何代码.

我对Haxe的主要问题是大多数开发都不在Mac上,所以编译C++的方面和Haxe的新功能有时会落后于Windows用户,但我没有遇到像Mox编译那样的核心Haxe问题.

在设计师方面:我使用在运行时为我的可视资源加载的Flash IDE电影,并在AS3中进行开发时也这样做,所以我的工作流程不依赖于AS3/Haxe,我喜欢简单的生活,所以我使用Textmate作为AS3或者哈克斯.我对Flash IDE及其强大的热情,但绝不会将它用于代码,我的大部分Flash工作主要是代码,所以我不是一些Linux硬核,Haxe不会阻止你使用Flash IDE,但如果你想你可以使用swfmill或sam.

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

我花了很长时间才能进入一个我可以在javascript中创建游戏或复杂ide的阶段,而不需要jQuery等开箱即用的Haxe ...它可以在浏览器等工作... Haxe让我拍摄我的Flash编程技巧和界面开发理解Flash之外(之前从未真正使用过JavaScript),如果我要学习纯JavaScript,我可能不会觉得这样,更像是有人把我的手臂关闭了,我会编写特定于平台的代码虽然现在我可以使用FEffects进行补间,然后添加一些编译器开关并编译到其他一些平台并使用一些neash/nme.

我实际上非常喜欢编译器对类型很聪明的方面,允许我的代码更清晰.而typedef很棒.

我看了一下PHP并认为它是一个混乱的肮脏的脏语言和JavaScript相同,我很高兴我可以用Haxe瞄准它们而不必花费太多时间在黑色魔法上.

如果您喜欢为快速开发视觉创意而创建代码,我认为Haxe是理想的语言,即使作为自由职业者,我也在商业上使用它.


Oth*_*yte 18

我对Haxe的看法,

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

作为一个在我的短时间编程中对许多编程语言开放的人,以及当我觉得某些东西不能为我工作时只是继续前进的人; 我发现Haxe是我无法发展的东西,我只是不能"更好".

我过去发现,用一种特定语言写作的时间与两个关键因素有关,我需要用多少语言来获得结果,以及找到该语言有多容易.但是对于Haxe而言,抓取时间要短得多,我将其归因于我在各种语言中积累的知识.直到Haxe,我从来没有找到一个真正适合我并且感觉恰到好处的人,他们要么难以理解,要么只是毫无用处; 从我的角度来看,至少是无用的.

Haxe had allowed me to be a lot more expressive with how I write, I don't mean the 'expressive' as in the quality that everyone talks about languages having I meant the ability to just have an idea and run with it, to try something out the way I feel is right. Whether it succeeds or totally fails.

Haxe has been a very easy learning curve for me, with my general background in c style languages and AS2/3, and I have not really had any trouble picking it up. One thing that always stymied my progression with a new language was understanding the concept behind that particular syntax/framework, but even once I had passed that hurdle I would often find that the language was in itself either limited, limiting or both. With Haxe I'm neither limited nor am I finding the language itself to limit me. With Haxe there is no glass ceiling, but the is a glass floor, in that there is no limit to what you can do but you can clearly see how you got there

拿起Haxe并不像拿起一些棍子和着火,但也不喜欢外出购买氧乙炔套装并开始着火.从这个意义上说,Haxe更接近匹配,你可以重用.它遵循您过去所做的几乎所有转换,但添加了有用的新功能.但要做到这一点,它并没有完全重新发明轮子,它只是修复了腐烂的碎片.(下一段中的类比更少)

实用的东西:

语言简单易用,标准化,同时仍允许程序员尽可能地使用.

你可以编写一个非常高级别的代码,或者去处理一点点的小事(在某些平台上严重程度)

Haxe doesn't dictate what you can and can't do on any one platform, it gives (or plans to give you) full access to everything, but where it can it adds a standardised way of doing things.

The mailing list is very helpful and responsive and the forum is even picking up pace now.

The language is constantly being changed (in minor ways) with new things added in every release.

There are very few real bugs coming through for the main API and even fewer for the compiler.

Every one talks openly about the language its direction and the direction they suggest for Haxe (and or course why it should take that direction)

And finally Haxe isn't some big private venture by a large (or even small) company to make money out of you as a developer, instead it is created for all developers to use, build upon and improve. And that is why I feel Haxe is where I want to be. (now to go back to coding)


The*_*ppo 13

如果你想得到一个简短的回答:是的!

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

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

对我来说另一个重要的好处是,Haxe是开源的.

它是否提供了重要的可移植性?

在不同的目标上使用相同的代码!我无法想象有任何方法可以获得更多的可移植性.

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

什么是现实世界,也许还有一些受到重视的优势?

  • 最大的优势是代码的可移植性和平台之间通信的出色选择,在客户端和服务器之间处理数据从未如此简单.(看一下维基中的Remoting部分.)
  • 社区很棒.(如果你喜欢邮件列表至少.:-)
  • 另一件事是:如果您需要执行Haxe不支持的非常平台本机操作(很少发生),Haxe总是为您提供定位它们的选项.它被称为Haxe魔法.换句话说:你可以用平台的母语做所有事情+所有Haxe为你提供的好东西.

有什么陷阱或陷阱?

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

PS:我认为学习一门新语言总是值得的,因为它可以提高你的编程技巧和经验.


小智 8

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

在第一次测试之后,我学会并使用了Haxe,并且从那时起就开始使用它.这是我学到的第一门语言(我当时还在大学里),这让我理解了语言和API之间的区别.

你在大学时看到我首先学习了AS2,然后是PHP,然后是一些Javascript.我们没有正式的编程介绍(而且我还没有学习计算机科学).这些语言都非常依赖平台,所以作为一个新手程序员,我自动认为像strlen()这样的东西是PHP,MovieClip是AS2,......

通过使用Haxe,我实际上理解了面向对象设计的价值,因为平台不再限制我的类.我可以在常规Web代码中重用为Flash项目编写的代码,如果我将它们从平台细节中分离出来的话.

由于可以用来在平台之间进行通信的优秀远程处理类,我也意识到XML并不是那么特别,JSON也没有,如果没有代码可以对它进行操作,那么它就毫无意义.

对于像我这样刚刚开始编程的人来说,这是一个非常大的启示,当时XML很"酷"并且对所有事情都有益;-)


小智 5

我对 Haxe 的主要用途仍然仅限于 Flash 开发。我只是慢慢接受它可以用于其他目标的想法。我仍然没有看到那个方向的优势,直接在 PHP 和 JS 中做我的 PHP 和 JS。

即使我不是为 Neko 后端开发,它也是非常好的支持,因为这意味着我可以为代码编写测试用例并将它们集成到构建脚本中,而不仅仅是能够在 Flash 播放器中运行它们。这是一个非常好的优势。

代码和开发的开放性也是一个很好的优势。我真的需要一个预处理器,因此#line对 Haxe 添加了支持。我认为 Adob​​e 不会认真对待我的请求。

我发现与许多新的现代语言相比,作为一种类型化语言具有巨大的优势。

在语言一致性和后端透明度方面存在一些缺陷。我把影响我的人列在这里。当然,在这方面没有语言是完美的,但我对一种新语言有这么多的语言感到失望。


小智 5

Haxe是一种非常宝贵的语言.其中许多加分经常被忽视.例如,它具有出色的内置库,使应用程序开发变得更加容易,例如简单但非常强大的ORM(Neko/PHP),完整的跨平台远程处理(Flash/JS/PHP/C++/Neko),其中任何支持的平台可以与任何其他平台无缝连接,一个可靠的正则表达式库(除了Flash <8之外的所有人支持)等等.

作为一个注释,我最近使用Haxe编写了一个用于PHP/JS/Flash的应用程序,并发现开发速度呈指数级增长.

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