SPOD 建立在 SQLite 或 Mysql 上. 全称为 Simple Persistent Object Database. SPOD可以映射数据库表(db table)为类(Class). 即每个继承sys.db.Object
的类都可以看成为一个数据库表.
因此需要简单地修改类字段或调用类方法即可修改数据库表. 大多数情况下, 你只需要提供一些基础的声明, 而不需要编写单独的 SQL 语句, SPOD 是基于宏的, 也就是说类到数据库表的转换是在编译时完成的,而不是运行时, 这样就不用担心性能的问题.
.....Tips
-
建议使用 git 版本的 haxe, 可在 http://build.haxe.org 下载
-
由于 haxe 4 支持模块内的函数/变量, 而且 extern 可以直接用于字段,
// 例如可添加类似于如下代码到任何类, 之后通过 import.hx 引入即可 @:native("console") extern var console : js.html.ConsoleInstance; @:native("document") extern var document : js.html.Document; @:native("window") extern var window : js.html.Window;
一些示例:
-
可能需要参考 http://nekovm.org/doc 的文档获得一些细节, 比如源码:
__dollar__print
- http://nekovm.org/doc/libs
hxcpp-guide 最好的文档
-
以 extern 的形式编译第三方库 http://snowkit.github.io/linc/, 直接调用 c/cpp 源码
-
以 CFFI 的形式编译第三方库, https://github.com/native-toolkit, 这种形式主要是为了同时给 neko 提供相应的调用
之前以为打包成 .air
由于需要安装,因此很不方便. 后来发现其实 adobe 有工具打包成bundle的形式(window平台打包成exe文件).可以使用flash.html.HTMLLoader 加载普通的网页, 相比 nw.js 打包网页要小20M左右, 最简单的方法是用 flashdevelop 创建一个 haxe/air 的示例.
可以说 haxe 的目标平台最稳定的就是 flash 平台了
-
flash.Lib 提供几个方法,也许会很有用, 如:
// 在浏览器中将 trace 输出到浏览器的 console // 当你的 flash 需要在浏览器中调试时这非常有效 Lib.redirectTraces() // 调用 flash 原生的 trace,例如当你在处于 Worker 时,就能能用这个方法了 // 如果你用 flashdevelop 可以在 视图 -> flash 日志视图里看到输出, Lib.trace(arg:Dynamic) // 或者加上 -D fdb 参数将重定向所有 trace 语句
更多的资源, 其实这二个链接就包含了所有
-
LudumDare List LD 工具清单
-
PixelProspector 独立开发资源列表
本文档源文件为: http://haxeflixel.com/documentation/game-development-tools/
.....主要描述 haxe, haxelib, nekotools 三个命令, haxe 命令行会经常在 .hxml 文件中用到
haxedoc
haxedoc 命令已经被弃用,而改用了另一个叫haxelib dox, 但是 生成 xml 还是用的 haxe -xml 命令
.....语法差异:
-
c# 使用 namespace 来管理组织类, haxe 则使用类的所在目录(package) 方式
c# 的文件名可随意, 而 haxe 的文件名则作为模块名, 路径则为包名.
-
c# 可使用 struct 用于创建紧凑数据(从栈上分配), haxe 没有相关功能,
虽然 haxe 中的”匿名结构”看上去非常像 struct , 但”匿名结构”是一种低性能的 Dynamic 结构数据,
c# 中的 struct 无法被 sizeof 识别, 限制非常多,当成 传值类型 的 tuple 来用就算了。 而且虽然有
fixed
关键字能在 struct 中定义固定数组, 但属于 unsafe 级别的操作。 -
对于 c# 中的固定数组, 在 haxe 中 haxe.ds.Vector 是个类似固定数组的容器
-
c# 中有 goto 跳转, 而 haxe 中没, 并且 haxe 中的 break 只能跳出当前循环。
-
vs 中
ctrl+K...ctrl+F
可以格式化选择了的代码, 而 haxe 没有相关工具。
下边将使用 Haxe/HL
平台来和 Java
对比.因为都是虚拟机。