写点什么

使用 RAD Studio XE4 构建数据驱动和原生移动应用

  • 2013-05-09
  • 本文字数:2309 字

    阅读完需:约 8 分钟

RAD Studio XE4 是一款集成开发环境(IDE),用于创建面向多种设备的真正的原生应用,可以用一套代码基支持 PC、iPhone、iPad 及其他便携式设备。它包含了一系列原生用户界面控件,如按钮、文本框、列表框、组合框、日期选择器、定制选择器、不同的键盘类型及服务通知等。它还支持分享表单(ShareSheet),可用于通过社交媒体进行分享和打印。

借助 RAD Studio,利用 FireMonkey FM3 ,开发者能够使用一套代码基为诸如 iOS、Windows 和 Mac 等多种平台创建应用。此外,借助快速原型功能,开发者无需编码即可利用实际数据或模拟数据快速创建可视化的模型,然后将其部署到 PC、智能手机和平板等真正的目标设备上。

RAD Studio XE4 通过 dbExpress、 FireDAC 和 IBX 提供了对 IBLite 和 SQLite 等 iOS 数据库的支持。借助 dbExpress 和 FireMonkey,它也包含了 ISV、企业类集成数据库连接和云计算。除了 Windows Azure 和 Amazon Web Services 之外,它还支持 SQL Server、Oracle、Sybase、DB2、InterBase、SQL Anywhere、SQLite 和 MySQL。

RAD Studio XE4 支持用户构建丰富的 GUI 客户端应用、HD 应用、3D 应用、Windows 应用、Mac OS X 应用和 iOS 应用、本地和远程数据库应用及基于 Web 和云的应用。据官方资料介绍,因为代码直接运行在设备上,所以使用 RAD Studio 开发的应用能够降低第三方攻击或破坏的风险。

尽管开发环境运行在 Windows 7 和 8 之上,但开发者也需要使用 Mac 来运行 iOS 模拟器,以及执行 iOS 应用最终的打包和分发。

InfoQ 采访了 Embarcadero 公司的产品管理总监,以便了解 RAD Studio XE4 的更多信息。

InfoQ:你能否与我们分享一下开发 RAD StudioXE4 的主要目的?

我们的主要目标是提供一个业内首创的工具,解决开发团队普遍遇到的一个实际问题,换句话说,就是用一套代码基管理跨多种设备的应用开发,而且能够提供最好的性能。

目前,每个开发团队都要管理运行在多种设备和操作系统之上的应用,主要有两个选择,一个是使用厂商提供的工具(比如用于 iOS 的 Xcode),另一个是使用脚本语言或虚拟机语言实现解决方案,以此获得代码复用所带来的业务效益。

使用厂商提供的工具,其优势是开发团队可以交付用户体验最好的应用。因为每种厂商工具支持的语言、应用框架和开发环境也有所不同,所以要支持不同的平台和设备,开发者不得不完全重写。这种方式代价很高。

另一方面,脚本语言方案(比如使用 HTLM5/JavaScript)中代码复用率很高,但开发者必须在应用性能和用户体验之间进行权衡。RAD Studio XE4 就是要填补这一缺口。

InfoQ:RAD Studio XE4 对开发者有何帮助?

RAD Studio XE4 最好地解决了上述两个问题。它支持多个设备,为一个团队、一份源代码基的组织带来了业务价值,但因为它是真正原生的,从而可以为应用带来最好的性能和用户体验。这样开发者也就有了一个工具,从而能够更快速地将应用交付到多种设备,而且具有最好的性能。

InfoQ:你提到了“真正的原生应用”,指的是什么?这能改进用户体验吗?

所谓真正的原生应用,我指的是直接运行在设备硬件上的应用,应用和 CPU/GPU 之间没有其他东西。比如 Objective-C 的工作方式就是这样。

源代码被编译为直接运行在硬件上的二进制信息。自从软件开发出现以来,对开发者而言,术语“原生”就是这个意思了。

比较而言,Java 或 C#等虚拟机语言和 JavaScript 等脚本语言实现的解决方案,都需要另一个进程动态地将源代码转换为 CPU 指令。这就给开发者带来了一些挑战和折中。

像这样的语言运行时基本上是个黑盒子,使得开发者无法调校其应用。而且运行时是另一个进程,也会分享 CPU 时间,所以还会引入延迟。带有垃圾收集机制的语言(大部分脚本语言)更是如此,因为开发者无法控制运行时何时执行垃圾收集和执行多长时间,也无法提前预测垃圾收集对应用的影响。最终的结果是,这些运行时对用户体验有负面影响。

真正的原生应用不依赖语言运行时或虚拟机,而且增加的性能对用户体验也有正面影响。

InfoQ:RAD Studio XE4 和 Visual Studio 2012 有何不同?

最大的不同是,利用 RAD Studio XE4,开发者还可以为微软之外的操作系统和设备构建应用。对今天的应用开发者而言,这是非常重要的。Windows 仍然十分重要,但现在支持运行 iOS 和 Android 的移动设备也很关键。

InfoQ:是否可以使用 RAD Studio XE4 开发 Windows Phone 8 应用?

RAD Studio XE4 支持在 Intel 处理器上构建原生的 Window 8 客户端应用。因此,开发者既可以为 SurfacePro 或来自其他厂商的 Slates 等平板构建应用,也可以为桌面版和服务器版 Windows 平台构建应用。Windows Phone 8 使用了一个新的叫做 WinRT 的操作系统。我们主动评估了对 WinRT 以及开发者需求的支持。

InfoQ:RAD Studio XE4 支持 Android 吗?

我们已经公开宣布今年下半年会支持 Android。不过,因为该产品的特点就是用一套源代码支持多种设备,在我们支持 Android 之后,开发人员今天为 iOS 开发的代码无需修改就能在 Android 上运行。

InfoQ:借助 RAD Studio XE4 开发的应用在 iOS 和 Windows 环境中都能使用吗?

是的,这就是支持多设备的威力。正如前面所讨论的,这些应用的源代码可以是完全相同的。

InfoQ:在 RAD Studio XE4 中能否使用 C#和 VB?

不能,RAD Studio 使用的是真正的原生语言,这意味着它们会被编译为机器代码,不会依赖像.NET 这样的虚拟机环境。而 C#和 VB.Net 都要依赖.Net 运行时。我们支持 Delphi 和 C++ 等原生语言。

InfoQ:你可以与我们分享一下 RAD Studio XE4 未来的路线图吗?

我们已经宣布,今年晚些时候,我们会支持 Android,以及在 iOS 和 Android 上支持 C++。

查看英文原文:Build Data Driven and Native Mobile Apps with RAD Studio XE4

2013-05-09 11:532146
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 125.6 次阅读, 收获喜欢 32 次。

关注

评论

发布
暂无评论
发现更多内容

数字货币引发的金融变革

CECBC

数字化时代

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

MySQL从库维护经验分享

Simon

MySQL 主从复制

《网络是怎样连接的》PDF下载

计算机与AI

网络

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

注册中心原理剖析

石刻掌纹

甲方日常53

句子

工作 随笔杂谈 日常

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

【薪火计划】03 - 从错误中认识到管理

dstweihao

管理

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

Nginx-技术专题-技术介绍

洛神灬殇

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

架构师训练营 -week09-总结

大刘

极客大学架构师训练营

在Codurance是如何面试技术人员的

sherlockq

面试 TDD

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

Android热修复之DexPatch介绍

阿里云金融线TAM SRE专家服务团队

android

微服务通信之feign的配置隔离

编程 微服务 计算机

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

SQL数据库:窗口函数

正向成长

窗口函数

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

使用RAD Studio XE4构建数据驱动和原生移动应用_iOS_Anand Narayanaswamy_InfoQ精选文章