user-0 提问: 讨论：跨3大手机平台的Framework

回复:
user: user-0
content: 用特性（Attribute）实现metadata与C符号的连接，就像C#一样：  [DllImport("kernel32.dll")] int MessageBoxW( ....省略... );   用metadata生成C头，如：  metadata file: class People : public Animal { public:     [extern_c]     int foo();   };   C header: struct People_st {     struct People_vtable *_vtable;     struct Animal_st      _animal_stub; };  extern People_foo( struct People_st * ); // user need implememt it  当然也可以是其他模样，总之制定一个二进制兼容标准就好。

user: user-0
content: 我请大家继续关注。 我近来也思考了许久。  我提出了一个简单一点的实现方案。  1. 定义一个metadata的二进制标准，包括类、域、方法、属性、特性、名空间、继承相关、接口、甚至包括类似C++饱受诟病的多重继承、虚继承等等。  2. 写一个metadata编译器，从源码编译为二进制表示，提供utily tool functions，让C可以读metadata（相当于提供了反射机制）。  3. 写一个metadata二进制到C的头文件的编译器，让C可以二进制兼容metadata。  基于我现有的gc堆，我可以实现一个带metadata 和 GC 的 C 语言体系。  4. 我在各个平台移植metadata的utily tool functions以及基础库代码，以提供一个基于metadata的framework，我的framework平台就可以搭建出来了。  这样我就避免要实现一个类似C#的编译器和JIT（尽管我现在有一个，但不是生成优化代码，要加优化需要做很多工作）。

user: user-1
content: cocos?

user: user-0
content: ding more

user: user-2
content: 引用 23 楼 sinservice 的回复:[quote=引用 22 楼 N_sev7 的回复:] 很值得深入做，即使产品未获得预想的成效 但是技术上绝对大大的进步了 但是一个项目的成功与失败， 决定的因素太多了 <个人意见，纯属扯淡>  我也花了些时间了解了下Unity3D， U3D的确为3D（2D）游戏开发提供了绝佳的平台，连UDK都正在被逐渐踢出市场。傲游新出的免费平台Genesis3D也直接面临被踢的局面。U3D大有一统天下的前景。  我觉得，在企业应用上，还是有很大的空间可以开发，而这个空间是U3D目前不想进入的。  [/quote] 祝LZ成功！！！敢想-敢做-能做，就值得学习 任何一件事情在没有失败之前都是成功的

user: user-0
content: 引用 22 楼 N_sev7 的回复:很值得深入做，即使产品未获得预想的成效 但是技术上绝对大大的进步了 但是一个项目的成功与失败， 决定的因素太多了 <个人意见，纯属扯淡>  我也花了些时间了解了下Unity3D， U3D的确为3D（2D）游戏开发提供了绝佳的平台，连UDK都正在被逐渐踢出市场。傲游新出的免费平台Genesis3D也直接面临被踢的局面。U3D大有一统天下的前景。  我觉得，在企业应用上，还是有很大的空间可以开发，而这个空间是U3D目前不想进入的。

user: user-2
content: 很值得深入做，即使产品未获得预想的成效 但是技术上绝对大大的进步了 但是一个项目的成功与失败， 决定的因素太多了 <个人意见，纯属扯淡>

user: user-3
content: 祝福楼主吧，坚持自己的理想，总会有回报的

user: user-4
content: 前景黯淡

user: user-5
content: 值得坚持, 不要只向钱看, 先做出东西来, 有钱图自然会来的

user: user-6
content: mono，还开源的呢，你说的这些不都实现了吗

user: user-0
content: 引用 14 楼 taodm 的回复:说实话，没有意义。最好的情况就是能做个demo，然后坐等收购。  why?

user: user-7
content: 说实话，没有意义。最好的情况就是能做个demo，然后坐等收购。

user: user-8
content: 引用 11 楼 sinservice 的回复:u3d确实挺好，但我没法做成那样，它的团队有100人左右，我只有2个人。 那估计你要花更多的精力和时间了！ 兼容性一直软件比较头疼的东西！考虑的东西多了，自然一些处理就复杂了！

user: user-9
content: 引用 9 楼 sinservice 的回复:不现实 没有哪家公司会支持你这样的运行时的，他们甚至会打压 看看flash吧，基本上就是你所做的东西，但adobe不得不黯然放弃  --------------  我在三个平台上做三个XAP，XAP运行起来就是我这个平台。开发者可以基于这个平台开发，开发之后的包是个Zip，这个Zip可以在这三个XAP里运行。 那么你是带上运行库的方式了，这个可以参考QT，体积，性能目前是瓶颈

user: user-0
content: u3d确实挺好，但我没法做成那样，它的团队有100人左右，我只有2个人。

user: user-0
content: 引用 5 楼 akirya 的回复:unity3d不就是么  确实是哦。

user: user-0
content: 不现实 没有哪家公司会支持你这样的运行时的，他们甚至会打压 看看flash吧，基本上就是你所做的东西，但adobe不得不黯然放弃  --------------  我在三个平台上做三个XAP，XAP运行起来就是我这个平台。开发者可以基于这个平台开发，开发之后的包是个Zip，这个Zip可以在这三个XAP里运行。

user: user-9
content: 引用 楼主 sinservice 的回复:本人近年来一直在写一个准备跨三大手机平台（爱疯、安卓疯、闻疯）的Framework，就是类似dotnet，但可以移植，并支持一次编译（生成集合），便可以在所有平台上跑。  已经完成的部分：  1. TTF字体引擎 2. 2D矢量图形引擎 3. 桌面UI引擎及标准控件 4. 高级语言（类似C#）的Compiler，编译为字节码 5. 字节码的JIT 6. 并行并发GC Heap   未完成部分： 6. metadata （正在开发中——） 7. x64（for windows）支持（原来仅支持x86） （正在重构最底层库——）  我想做到的是，以后开发者仅在一个Framework的环境里开发，底层都被抽象，语言只用一个，代码只写一次。  我想征求一下诸位的意见。诸位对我这个产品的前景有何看法？  对真知灼见，本人必高分相赠。（但最多只能用200分，我还有5000多分，不知怎么能加上。） 不现实 没有哪家公司会支持你这样的运行时的，他们甚至会打压 看看flash吧，基本上就是你所做的东西，但adobe不得不黯然放弃

user: user-0
content: 多高级语言肯定可以加，我说一种语言，主要指一种IL。