WP02 –
使用
RemObjects Software
工具跨平台开发
RemObjects
软件白页
跨平台开发是我们
RemObjects
软件的哲学体系中重要的一部分
,
多于市场炒作
.
事实上所有的产品都是在平台兼容的思想下完成的
.
但是什么是跨平台的真正含义
?
答案是不一样的
,
这基于与对平台的理解
. Delphi
和
.NET
是不同的开发平台
,
但是他们都用于
Windows
开发
,
从而是同样的运行平台
.
选择如
Mono
和
Free Pascal
,
可以在其他操作系统
(
或运行平台如
Linux
,Mac OS X)
中打开其开发平台
.
我们的产品
,
努力实现这两种情形的跨平台
,
在不同的开发平台
(.NET vs. Delphi)
和运行平台
(Windows vs. Linux)
创建联系
.
考虑跨平台
为多种平台开发应用程序有很大挑战
,
这种项目基于不同的方法
,
目标客户和其他因素
.
显而易见的情形是要让应用程序运行在任何地方
.
这种目标是要建立一个应用程序
(
一个执行文件或重编译后生成不同的运行程序
)
可以运行在几个平台
,
这对于服务端项目或命令行适用工具有效
,
因为他们不需要用户接口
.
使用好的工具集可以轻松实现
.
然而
,
很容易忘记不同的平台有不同的规则和期望
,可以
生成一个在任何平台都能运行的程序
,
但是这并不令人满意
.
例如
,
通常一个
Windows
程序使用跨平台工具如
Mono
运行在
Mac系统下,但
用户很排斥这种应用程序
,
因为其不符合
Mac
操作系统应用程序的使用习惯
.
要将一个项目向新平台转换
,
平台的规则是必须要考虑的
,
至少是项目中明显需要与用户交互的部分
,
但是更多要考虑的是平台架构的不同
.
需要在不同的平台重新设计
.
理想的跨平台工具
,
应该使你项目中的大部分非常容易实现重用
,
并可以让你为目标平台做适当的设计
.
.NET
和
Mono
面向不同的运行时平台
.NET
开发平台
,
当微软最初设计时只是适用于
Windows
操作系统
,
其基于的
.Net
平台已经被
ECMA
作为标准的
CLR(
通用语言运行时
),
并出现很多可独立执行
CLR
的三方控件
,
现在最流行的是开源的为
Novell
平台开发的
MONO
项目
.
MONO
提供了一个完整的
CLR
实现
,
允许开发者将存在的
.NET
执行文件直接拷贝到不同的平台
(Windows,Linux,Mac OS X
及其他
)
上执行
.
RemObjects
是极少几个
100%
支持
MONO
的
.NET
架构和开发工具
,
我们投注了大量的精力保证我们产品可以在
MONO
上良好运行及夸平台的便利
.
而且
,
我们还使我们的产品遵循当前的平台规则
,
并且可以在所有平台下开发出原生的应用程序
.
这适用与我们的多层架构产品
(DA
和
RO)
和
Internet Pack,
以及
Chrome(
支持
.NET
和
MONO
的
Pascal
语言
)..
例如如下截图展示了我们的测试数据库客户端范例应用程序
(
在
Chrome
和
DA for .NET
中实现
),
可以本地化及友善的运行在
Windows Vista
及
Mac OS X
下
.
RemObjects
工具提供了一致的跨平台
MONO
的开发体验
.
在
Delphi
产品中开发本地化的跨平台应用程序
这个标题并不确切
,Delphi
和我们的
DA,RO
多层架构都通过新的
Free Pascal
提供了在不同平台下运行的能力
.
Free Pascal (FPC)
是一个开源的
pascal
编译器
,
可以编译
Delphi
的原生代码为多种平台
(Windows32/64
位
,Linux,FreeBSD,OS/2,Mac OS X,Classic
和
Windows CE)
下运行的程序
.
Free Pascal
事实上与
Delphi
兼容
,允许
Delphi
开发者在他们熟悉的环境中开发
,
并使用
FPC
编译出支持不同平台的版本
.
从
2007
六月发布
Data Abstract
和
RemObjects SDK
的
Vinci
版后
,
我们的架构完全兼容
FPC,
使开发人员可以轻松将其
Delphi
的多层项目转移到其他平台
.
使托管代码和非托管代码完全兼容
当你在
Windows
或其他平台使用
Delphi
和
.NET
开发
Data Abstract
和
RemObjects SDK
应用时二者完全兼容
,
这意味着两个版本产品可以通过网络无缝的相互调用
.
你可以在
64
位
Linux
下执行基于
Delphi/FPC
的数据库中间层服务与执行在
Windows
或
OS X MONO(
或其他可想象得到的平台
)
下的
.NET
客户端通讯
,
当然必须要保证他们有一个可相互理解的通讯约定
.
除了我们的
Data Abstract
和
RemObjects SDK
产品的
Delphi
和
.NET
版本
,
我们也正在努力提供对其他开发平台的支持
Java
或
C/C++.
使用我们的
Hydra 3.0
技术
,
能在一个
Window
应用程序中将非托管的
Delphi/Win32
和托管的
.NET
代码混合使用
,
为
Delphi
开发者提供一个不用放弃现有代码就可以直接嵌入到.NET平台的理想方式
.
更多消息可以查看我们的
WP03
和
HY09.
使用
Chrome
体验跨平台
Mono
开发
成功的跨平台基于好的工具
,
不但包括灵活的开发包
(FC
和
DA),
同时还需要适合的开发环境和语言
.
Chrome,
为
.NET
和
MONO
准备的面向对象的
Pascla
编译器提供了这一切
. Chrome
为其他托管语言提供了更多的
MONO
支持
.
例如
,Chrome
在
Visual Studio IDE
中提供了编译生成
MONO
库的工具
,
并且对不同个目标平台提供了不同的高级
IDE
功能
,
如在
IDE
中生成
Mac OS X
应用程序的选项或用户使用自定义绑定到
Cocoa(Mac OS X)
或
Gtk(Linux)
的代码工具
.
更多关于
Chrome
支持
Mono
的技术可以点击
here (
对
Mono
一般的支持
)
和
here (Mac OS X
平台下的
Chrome).
总结
本白页向你介绍了跨平台开发的挑战
, RemObjects
可以帮助你和你的开发团队在各种领域征服这些难题
,
包括
:
- 在.NET和Chrome下进行Mono和托管跨平台开发
- 使用Delphi和Free Pascal提供本地化跨平台开发
- DA和RO在所有的平台组合中完全兼容
- 在Chrome体验Linux和Mac OS X 的先进技术和工具