产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

多设备企业环境下的 C++

  • 2013-04-16
  • 本文字数:2589 字

    阅读完需:约 8 分钟

无论是在谈话、社交网络还是和一些产业文章中,你一定听说过在企业内部支持多设备的需求。像 BYOD(自带设备)这样的词条已出现在多数文章和企业战略中。在现代企业中的计算并非只是 Microsoft Windows 的世界。企业组织需要支持大量类型的设备,以便使员工更有工作效率。现代企业同时要支持包括多层系统、云计算、REST 和 SOAP web services 等更多类型的软件架构。

企业中很大比例的桌面应用使用 C++ 编写,在此列表中的有 Microsoft Office、OpenOffice 和大多数 Web 浏览器。C++ 已用于企业内部关键业务应用和包括 SOAP、REST 和 CORBA 等的多层架构。大多数企业级操作平台也是用 C++ 构建的,大多数 SQL 数据库也由 C++ 编写。

随着 BYOD(Bring Your Own Device)自带设备在企业内部的增长,你将看到很多移动应用也是用 C++ 构建的,不再是只有 Windows 和 Intel 体系的世界。

Java 在当今企业计算中也很流行,但你知道 HotSpot Java 虚拟机是由 C++ 编写的么?当 Java 开发者需要调用操作系统底层和硬件时,他们使用 JNI(Java Native Interface,Java 本地接口)来调用本地的 C++ 代码。

如果你想要在多设备企业环境下编译、部署应用,你得决定在 Windows、Mac、Web 和移动应用环境下使用哪些工具、框架和 SDK。

面向多设备,选用多厂商多工具,还是一个工具链加基本代码

面向多设备的传统方式:Windows 开发团队和 Mac 开发团队使用不同的工具和语言变量。这种工具方式加倍了开发和测试团队的工作量,增加了开发成本,往往以投放市场慢,或者推迟发布 Mac 版而告终。

  • Windows/SDK 和 Windows/RT – C#或 C++ 使用.NET 或 MFC
  • OSX/SDK – C++ 或 Objective-C
  • iOS/SDK – C++ 或 Objective-C
  • Android/SDK - Java

C++Builder 方式,仅需一个开发团队、使用一款工具,可以一次创建应用,点击编译成 Window 环境,还可以用相同的项目点击编译成 Mac 环境,不需额外的开发成本。采用 C++ Builder 的方式使用可视化的开发方案,被证明可以减少将近 80% 的代码量。从而以更低的成本、更短的时间赢得 Win/Mac 市场.

传统的跨平台工具

你可以选择使用一款或多款 C++ 编译器外加像 Qt 或 WxWidgets 的公共框架,这种方式仍然需要为每种设备的规格和型号做单独的适配开发工作,这种方式不适宜大规模应用到其他平台、软件架构、服务和规格的设备中去。

HTML5**** 跨平台工具

企业多设备开发也可以选择 HTML5 跨平台方式,如使用 Embarcadero 公司的 HTML5 Buider、Adobe 的 PhoneGap、Sencha 和 Kendo 的产品。但你可能无法保证你的应用在更好的用户体验、性能和可预测的执行中协调,因为需要有一个虚拟机在你的应用和设备之间运行。

“平台本机”虚拟码工具

这种多设备方式使你在使用一种公共语言的同时,仍可使用一些不同平台的 SDK 来构建应用。

快速、本机码多设备企业开发

使用基于 C++ Builder 的组件,可视化开发并优化本机码 C++ 编译器,你能快速为 Intel 处理器的设备进行原型设计、构建、部署本机码应用,使用同样的项目基础码,今年晚些时候也可以支持 ARM 处理器设备(参见 RAD Studio Mobile Roadmap ). 使用 C++Builder 方式,你的应用能享有最优的性能、高可调性、最小的内存占用空间,并能提供低延迟的用户体验。

C++ Builder 直接支持全部主流数据库、SOAP 和 REST web services,Microsoft Azure 和 Amazon cloud services。此外还有完整的支持众多其他企业架构和服务的插件和工具的生态系统。

C++ 是多设备企业的选择

以下列出了若干业界选择 C++(和 C/C99) 作为本机码用于企业级多设备应用的理由:

  • SourceForge 上开源项目排名第二到第四的语言
  • 顶级的商业软件有 C++ 编写 - Microsoft Word, Adobe Photoshop, Google Chrome, Firefox, Mac OS X, iOS, Oracle database, Microsoft SQL Server, MySQL, 游戏。
  • 顶级的互联网公司使用 C++ – Facebook, PayPal, Amazon。

C++Builder XE3 提供企业需要的本机、多设备方案:

  • 面向本机多设备的架构
  • 已实现 Windows 和 Mac 系统,2013 年计划实现 iOS 和 Android 系统
  • C++98, C++TR1, 和 C++11 语言标准
  • ANSI C, ISO C, C99, 和 C11 语言标准
  • Dinkumware STL 和 Boost 1.5
  • 集成 CLANG - http://clang.llvm.org/
  • 敏捷 C++ 语言扩展

为什么 C++Builder XE3 完美适用于多设备企业应用开发? C++Builder XE3 提供:

  • 基于 C++11 标准的 C/C++ 语言
  • 敏捷、可视化开发
  • 高性能无缝集成数据库和 Web/Cloud Services 连接
  • SQL 数据库支持,涵盖:Oracle, DB2, MS SQL, InterBase, Firebird, PostgreSQL, MySQL, Sybase ASA, Sybase ASE, Informix, SQLite, MS Access, ODBC bridge, dbExpress bridge –使用 FireDAC 多设备数据访问 ( http://www.embarcadero.com/products/rad-studio/firedac ).

更多 C++Builder 信息

观看 / 下载 C++ Builder 64 位编译器预览视频

更多关于 64 位 C++Builder 编译器的详情详见预览视频。在 Youtube 上观看 C++ 64 位编译器预览视频: http://www.youtube.com/watch?v=PwwMpBUoR6Y . 也可以下载 MP4 视频文件在: http://cc.embarcadero.com/item/29197 . 预览视频约长 9 分钟。

试用 C++Builder 64 位编译器

C++Builder XE3 RAD Studio XE3 免费试用版已经包括了最新的 C++Builder 64 位编译器。试用下载地址: https://downloads.embarcadero.com/free/c_builder

查看英文原文: C++ in the Multi-Device Enterprise


感谢贾国清对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-04-16 06:112010

评论

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

区块链技术发展需加强核心技术自主创新

CECBC

区块链技术

我用 Python 找出了删除我微信的所有人并将他们自动化删除了

Python小二

Python 微信

Flutter 开发从 0 到 1(二)框架与网络

吴小龙同学

flutter ios android 跨平台

Maven 入门

少平

Java

架构师训练营第 1 期 - 第 8 周课后练习

Anyou Liu

极客大学架构师训练营

极客大学 - 架构师培训 -ch3 作业

bing5tui3

极客大学架构师训练营

架构师训练营 - 第四周课后练习

joshuamai

“双11”正成为区块链场景应用“练兵场”

CECBC

大数据

这篇 MySQL 索引和 B+Tree 讲的太通俗易懂!

MySQL 面试 数据库事务 索引结构

大招落地:MySQL 插入更新死锁源码分析

AI乔治

Java MySQL 编程 架构

架构师训练营第1期 - week08 - 作业

lucian

极客大学架构师训练营

Flutter 开发从 0 到 1(一)需求与准备

吴小龙同学

flutter ios android 跨平台

iOS底层系统小结

shirley

ios

16张图带你彻底搞懂基数排序

Java架构师迁哥

ARTS Week14

丽子

C++的智能指针你了解吗?

良知犹存

c++

线上排障技巧 | 动态修改LOGGER级别

AI乔治

Java 编程 架构 JVM

【薪火计划】01 - 好与坏

AR7

管理

架构师训练营 - 第四周学习总结

joshuamai

【得物技术】机器学习在图形验证码识别上的应用

得物技术

学习 算法 测试 图像识别 验证码

数字货币是数字经济发展基石

CECBC

数字货币

架构师训练营第四周作业

李日盛

架构

上海与鲲鹏的数字共鸣

脑极体

用eBPF/bcc分析系统性能的一个简单案例

AI乔治

Java 编程 架构 大前端

极客时间 - 架构师一期 - 第八周作业

_

极客大学架构师训练营 第八周作业

Maven 进阶

少平

Scala-语法特性(一):类型和变量定义

正向成长

scala

fastJson与一起堆内存溢出'血案'

AI乔治

Java 架构 JVM Fastjson 内存溢出

java是如何调用native方法?hotspot源码分析必会技能

诸葛小猿

Java jdk JVM jni hotspot

如何正确的关闭线程池

Rayjun

Java 线程池

杂谈

落曦

多设备企业环境下的C++_C++_David Intersimone_InfoQ精选文章