1
125
简短的回答是:绝对!
如果你是一个网络开发者,你知道你不能太长时间坚持单一技术。迟早,您将不得不处理环境或目标中的更改(您为.NET开发,但一个重要的客户需要PHP,或者该小部件应该是Flash而不是JavaScript),这是最好的情况。在最坏的情况下,你必须经常转换,通常在同一个工作日转换多次。 这些开关会浪费你很多时间,因为你需要改变你的编程范式太多次,可能是因为你在为特定目标编写库的时候会有很多重叠。haxe试图通过只有一种源语言(haxe语言)和许多输出(通过haxe编译器)来减轻转换的痛苦。这门语言很友好,很容易学,不管你的背景如何。
无论部署到哪个平台,语言都是相同的。因此,对于JS、Flash、C++等,您可以用相同的方式定义类/接口/Enn/Type,等等。如果您定义的类型不依赖于特定的平台API,它们可以从平台到平台再使用,而不需要任何努力。所有平台还共享通用API,如XML访问、HTTP连接和反射。具有共同点(即neko和php)的平台在文件访问或Web服务器开发等方面共享相同的API。
说到服务器端,我们都知道PHP有多普遍。如果你的Web应用程序增长,你可以开发一个HAXE的应用程序,并将其应用到NEKO甚至C++。
以下是常见的误解:
|
2
25
作为一个有创意的闪光灯,我真的不再看到AS3的意义了!因此,从一个Flash用户编码员/艺术家那里,我的观点是: 在我目前的项目中,我有一个19岁的孩子,他在我的指导下从主要的时间轴AS2/AS3转到了HAXE课程,并且在AS2和AS3代码之间移植。所以我不认为haxe比as3更难使用,或者在flash中使用时有明显的不同。就稳定性而言,我目前的主要问题是当前Flash播放器的一些方面,在开发Flash时,haxe确实和as3一样稳定或更稳定。 flash的发展是一个不断的过程,创建的库随着flash的变化而变得无用(可能他们每年都需要销售软件!)?)和组件一直是我需要的东西,但大小是愚蠢的,所以我不愿意像绵羊一样进入到灵活,甚至移动到替代的XAML。 Haxe的主要优点是,您可以开始真正考虑创建与平台分离的类,从现在开始五年后这些类将基本上可用。我怀疑这对于您创建的任何AS3都是正确的,Haxe的关联更少,可能我可以将代码编译为javascript、Silverlight或Google下一步推出的任何东西。 HAXE的主要问题是大部分的开发都没有在MACS上进行,所以编译的方面和HAXE的新特性有时会从Windows用户中走出来,但是我没有像Flash编译之类的核心HAXE存在问题。 在设计师方面:我使用运行时加载的Flash IDE影片作为我的视觉资产,在AS3中开发时也这样做,所以我的工作流程确实不依赖于AS3/HAXE,我喜欢简单的生活,所以我使用textmate作为AS3或HAXE。我对flash-ide及其功能充满热情,但绝不会将其用于代码,我大部分的flash工作都是代码,所以我不是Linux硬核,haxe不会阻止你使用flash-ide,但如果你想使用swfmill或sam,你可以。 问题是:为什么要把你的时间浪费在商业语言AS3上呢?AS3可能只是为了销售未来的版本而改变,而且只限于Flash播放器? 我花了很长时间才到达一个阶段,在这个阶段,我可以用javascript创建一个游戏或复杂的IDE,而不需要jquery等现成的haxe…它可以跨浏览器等工作…haxe让我学习我的flash编程技能和对flash外部接口开发的理解(以前从未真正使用过javascript),如果我学习纯javascript,我可能感觉不到它的功能,更像是有人割断了我的手臂,我将编写非常特定于平台的代码,而现在我可以使用 FEffects 对于tweening和稍后添加一些编译器开关并编译到其他平台,并使用一些neash/nme。 实际上,我非常喜欢编译器这样的方面,因为它对类型很聪明,允许我的代码更干净。而且,typedef很出色。 我看了一眼PHP,发现它是一种混乱的、愚蠢的、肮脏的语言,对于javascript也是如此,我很高兴我可以用haxe来攻击它们,而不必花太多时间在黑黑客魔法上。 如果你喜欢为视觉创造性的快速发展创建代码,我认为haxe是理想的语言,即使作为一个自由职业者,我也在商业上使用它。 |
3
18
我对哈克斯的看法, 警告:以下段落非常具有哲理性(实际段落更详细): 作为一个在我的短时间编程过程中对许多编程语言开放的人,当我觉得有些东西对我不起作用时,他会继续前进;我发现haxe是我无法进步的东西,我就是无法“改进它”。 我发现在过去,我花在一种特定语言上的时间与两个关键因素有关,即我需要多少时间使用这种语言才能获得结果,以及我如何轻松地掌握这种语言。但是对于haxe来说,掌握时间要短得多,我把这归因于我在各种语言中积累的少量知识。在哈克斯之前,我从来没有找到一个真正适合我的,并且感觉很对的人,他们要么难以理解,要么就是毫无用处;至少从我的角度来说是毫无用处的。 哈克斯让我对自己的写作方式有了更多的表现力,我的意思不是“表现力”,因为每个人都在谈论语言的质量,我的意思是有能力提出一个想法并付诸实践,尝试我认为正确的东西。是成功还是彻底失败。 对于我来说,haxe是一个非常容易学习的曲线,我有C风格语言和AS2/3的一般背景,并且我没有遇到任何问题。有一件事总是阻碍我使用新语言的进程,那就是理解特定语法/框架背后的概念,但即使我通过了这一障碍,我也常常发现语言本身要么有限,要么限制,要么两者兼而有之。有了哈克斯,我既不受限制,也不觉得语言本身限制了我。Haxe没有玻璃天花板,但是它是玻璃地板,因为你可以做的没有限制,但是你可以清楚地看到你是怎么做到的。 拾起哈克斯不像拾起一些木棍生火,但也不像出去买一台氧乙炔装置然后用它生火。从这个意义上说,haxe更接近于一个匹配项,您可以重用它。它几乎遵循了您以前所做的所有转换,但添加了有用的新特性。但要做到这一点,并不是彻底改造车轮,它只是修复腐烂的碎片。(好吧,下一段中的类比比较少) 实际情况: 该语言简单、简单、标准化,同时还允许程序员随心所欲地进行编程。 您可以编写一段非常高级的代码,也可以随意处理一些零碎的代码(在某些平台上是相当严重的)。 Haxe没有规定你在任何一个平台上可以做什么,也没有规定你不能做什么,它给(或者计划给你)所有东西的完全访问权,但是在哪里它可以增加一种标准化的做事方式。 邮件列表非常有用,响应迅速,论坛现在甚至加快了速度。 语言不断地被改变(以微小的方式),在每个版本中都添加了新的内容。 对于主API来说,真正的bug很少,而对于编译器则更少。 每个人都公开谈论语言,它的方向和他们为哈克斯所建议的方向(以及为什么它应该这样做的原因) 最后,Haxe并不是一家大公司(甚至小公司)为了从你身上作为开发人员赚钱而进行的大型私人投资,而是为所有开发人员使用、构建和改进而创建的。这就是为什么我觉得哈克斯是我想去的地方。(现在回到编码阶段) |
4
13
如果你想得到一个简短的答案: 对!
大多数时候,我在服务器端使用haxe。(这意味着php或neko目标)。在我看来,PHP是我使用过的最糟糕的语言,这就是我开始使用haxe的原因:拥有一种可用的语言。 对我来说,另一个巨大的优势是,haxe是开源的。
在不同的目标上有相同的代码!我想不出有什么方法可以使它更轻便。 将网站从PHP迁移到 mod_tora 它的执行速度比PHP快40-80倍,通常只需要5分钟的工作?你说什么?
P.S.:我认为学习一种新语言总是值得的,因为它可以提高你的编程技能和经验。 |
5
8
好吧,你的问题已经回答了,但我想加几个简短的警告。 在第一次测试后,我学习并大量使用haxe,从那时起我就一直在使用它。 这是我学到的第一门语言(当时我还在大学里),它让我真正理解了语言和API之间的区别。 你看,在大学里,我首先学习了AS2,然后是PHP,然后是一些JavaScript。我们没有正式的编程入门(我也没有学计算机科学)。这些语言都与平台紧密相连,所以作为一个新手程序员,我自动假设strlen()是php,movieclip是as2,… 通过使用haxe,我实际上理解了面向对象设计的价值,因为平台不再限制我的类。我可以在常规的Web代码中重用为Flash项目编写的代码,前提是我将它们与平台细节分离得足够好。 由于您可以使用优秀的远程处理类在平台之间进行通信,我还认识到XML并不是那么特别,JSON也不是,没有代码对它起作用,这一切都毫无意义。 对于像我这样刚开始编程的人来说,这是一个很大的启示,当时XML是“酷”的,而且对一切都有好处;-) |
6
5
哈克斯语是一种非常宝贵的语言。很多优点经常被忽视。例如,它具有奇妙的内置库,使应用程序开发变得更容易,例如一个简单但非常强大的ORM(NEKO/PHP)、完全跨平台远程处理(FLAS/JS/PHP/C++/NEKO),其中任何支持的平台可以与任何其他平台无条件地通信,一个实例化的正则表达式库(除了Flas之外,所有人都支持)。H<8)等等。 值得注意的是,我最近编写了一个使用haxe for php/js/flash的应用程序,发现开发速度呈指数级增长。 当然,haxe可能不是以设计师为中心,但也不是硬核。HAXE非常容易学习和重用,随着目标平台数量的增加,HAXE开发人员也可以瞄准这些平台,而无需学习任何新知识。 |
7
4
我对haxe的主要使用仍然局限于flash开发。我只是慢慢地意识到它可以用于其他目标。我仍然没有看到这个方向的优势,直接在PHP和JS中使用PHP和JS。 尽管我没有为Neko后端开发,但它非常支持,因为这意味着我可以为代码编写测试用例,并将它们集成到构建脚本中,而不仅仅是在Flash播放器中运行它们。这是一个很好的优势。
代码的开放性和开发性也是一个很好的优势。我真的需要一个预处理器,所以
我发现打字语言比许多新的现代语言有很大的优势。 在语言一致性和后端透明性方面有几个陷阱。我列了一张影响我的名单 here . 当然,在这方面没有一种语言是完美的,但我对一种新语言有这么多感到有点失望。 |
8
3
我已经为haxe编码了大约2年,用于个人和专业用途。它有一些你不会从其他语言中得到的优势,最大的一点是它几乎从一开始就被设计成一个现代的生产级编译器,能够灵活地适应新的平台并利用其独特的功能。这使得它最接近C的高级版本。如果用haxe编写代码,就可以指望它一直存在。 社区接受度比你想象的要高-我用压缩的千字节(从上的数据)对列表流量做了一点分析。 http://lists.motion-twin.com/pipermail/haxe/ )结果显示,自2006年以来,本年迄今(1-9月)每年增长25-50%。在过去的六个月里,流量真的激增了,我正在认真考虑去消化,因为否则如果我把haxe放一天以上,我的收件箱就会塞满成百上千条的信息。它不像其他语言那样被大肆宣传,但这反过来意味着人们把车挂到haxe上往往是自信的、见多识广的程序员。 人们已经在其他环境(Scheme Anywhere、Python或Ruby in JS等)中尝试了语言到语言的编译器,但是这些语言是为不同的地方和目的而设计的,在翻译中会失去很多最好的方面,这使得结果很酷,但不适合日常工作。haxe并不是这样的;虽然它没有语言/运行时集成带来的便利,但它还有很多其他很酷的东西可以提供 马上 . |
9
3
主观上,我发现我在哈克语中比其他语言更有效率。我使用的haxe主要针对neko和javascript。 编译器本身速度非常快,允许我像使用脚本语言一样使用haxe。它倾向于面向对象,但有许多功能工具;第一类函数、功能匹配、lambda库。 我觉得Neko的速度足够快,而且它的图像尺寸小,非常适合在有限的环境中使用。它的c-ffi非常出色-添加新功能非常简单。 我将haxe用于JavaScript客户端控制器,将事件激发到标准jQuery视图中。这非常有效,因为您可以同时键入检查客户机和服务器代码,同时将未键入的原始JS保持在最低限度,并保留了通常JS库的好处。提供JSON库。顺便说一句,尽管haxe确实附带了mod_*for apache等,但我发现使用代理更为灵活,因此我可以在Web服务器后面设置多个neko实例。 总的来说,我认为这是非常全面和深思熟虑-并至关重要的是,它工作的广告在所有平台上。 |
10
2
是的,完全 但是它需要一个更好的IDE和文档,对于我来说,缺少一个伟大的IDE(比如基于Eclipse的IDE)会造成所有的差异,因此我无法达到我在其他语言中所做的生产力水平。 语言=很好-英里数最佳 开发环境=差(此时和IMHO) |
11
1
我从一开始就在雷达上看到哈克斯。我同意这看起来很有希望,但我注意到开发人员并没有像您预期的那样迅速地采用它(与ror甚至flex相比)。 不管哈克斯现在对你有多好和合适,你仍然是早期采用者中的一员,你肯定会遇到早期采用者通常面临的问题。 虽然有一个非常活跃的邮件列表,里面有非常有用的成员,但我还是会等到更多的人加入,并且有更多的书籍和资源被写出来。 最后,Haxe帮助你用一种语言编写,并针对不同的平台(主要是JS和Flash,现在NEKOVM,PHP和C++),你真的需要吗?! |
George Kurelic · 正常游戏中的FlxReplay 6 年前 |
0x.dummyVar · 如何在Haxe中乘法字符串 7 年前 |
Sim · 加载模板时出错,请运行“flixel下载”。? 7 年前 |
rener172846 · 如何在Haxe中克隆动态对象? 7 年前 |
Gulvan · 圆形遮罩的作用类似于矩形 7 年前 |
YvesScherdin · Haxe:本机接口属性可实现? 7 年前 |
Gulvan · Xml。nodeValue导致“坏节点类型”错误 7 年前 |
naviator · Haxe-SWC中的可变参数数 7 年前 |