首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谦虚的Haxe,在一个非haxe友好的目标项目中自动化合并haxe的方法?

谦虚的Haxe,在一个非haxe友好的目标项目中自动化合并haxe的方法?
EN

Stack Overflow用户
提问于 2013-01-24 11:52:22
回答 2查看 305关注 0票数 1

对于haxe,我们通常需要使用现有的非haxe代码,所以我们可能希望我们的haxe代码吸收系统的某些部分或添加到系统中,而不是编写外部代码,这是一个我们不能假设良好的haxe设置的系统。

例如,以js目标为例,假设我们想要向一些现有的javascript代码添加功能,我们不能轻易地控制haxe的入口点,我们必须在当前的js代码中注入功能或类。JS代码可能太复杂了,无法重新整理成真正haxe友好的格式。因此,一种方法是用我们需要的东西模拟一个类,然后尝试创建一些neko来自动插入并转换它,合并到当前的代码库中……但这是一个相当开放的问题,并将与其他目标不同。

所以我的问题是,您已经开发了哪些方法来在现有的目标代码中混合haxe目标代码,例如在js源代码中添加haxe类,可能使用一些neko自动插入并重新排列haxe类中的haxe所需的引导代码。但也有兴趣如何与其他目标,我可能有关于haxe flash的想法,但没有说PHP或c++。让我们假设您无法设置标准的主引导结构,并且在每次发布时,当您点击build按钮时,您确实希望您的haxe代码能够正确地合并回到主要的非haxe项目代码中。

这是一个棘手的问题,但非常重要,因为解决方案使在更多项目中使用haxe变得更加容易。

EN

回答 2

Stack Overflow用户

发布于 2013-01-26 13:10:00

我对你所说的只有很少的经验,但这里是这样的:

  • JS -我使用了一个自定义的Markdown库(mdown的变体),它是用Haxe编写的,在一个主要是非haxe的javascript环境中。我尽量让它成为“黑盒”-- Haxe库使用@:expose metadata公开了一个静态方法,这样我就可以在我的Javascript中的任何地方调用Markdown.convert(str);。我们发现尽可能地保持它的“黑盒”是有益的,这样非Haxe的Javascript就知道应该提供什么输入和期望的输出,但其他的一切都是不透明的。
  • PHP -我做过一两个项目,我用Haxe做了一些工作,并且不得不把它包含在现有的PHP网站上。我发现我可以利用现有的网站会话来检查用户是否通过了身份验证,并且我为现有网站设置了一种方法,为应用程序的Haxe部分提供一个“基本模板”,然后Haxe渲染到该模板中。非常老套,但它做到了这一点,意味着Haxe部分和非haxe部分的模板都被更新了。
  • 服务器端的另一种方法可以分为面向用户的代码和应用程序编程接口。因此,也许Haxe设置了一个JSON API,然后PHP与其通信。或者您有一个Haxe网站,它可以与Ruby/Python API等对话。

如你所见,我一直在努力让事情变得清晰。如果Haxe可以以相对独立的方式运行,并通过接受特定输入和提供特定输出与其他代码交互,则事情可以相对可预测地运行。我没有尝试过更深入的集成,我认为Haxe的工作方式(使用它自己的类系统和数据结构等)是足够不同的,紧密集成可能会被证明是有问题的。

票数 1
EN

Stack Overflow用户

发布于 2013-01-30 05:52:23

我很少混合代码,但它是这样的:

  • for flash你不需要任何东西,如果你添加在另一个程序中制作的swf lib,你可以从haxe访问这些类。
  • for js没有externs是不可能的,除非你想使用非类型化的。也许你知道Jason做了什么,我不知道:) cpp的
  • 更糟糕,你必须使用cffi,这将导致代码混乱,因为示例检查了nme扩展是如何工作的。
  • 从未使用过java,但我认为这是简单的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14493652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档