【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

多设备企业环境下的 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:111792

评论

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

刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

eng八戒

继承 纯虚函数 C++

迎战大厂!“金九银十”和秋招通过率达95%的Java面试要点集锦

钟奕礼

Java 程序员 java面试 java编程

Apache NiFi + MatrixDB 20行代码实现数据实时入库!

YMatrix 超融合数据库

三一重工 超融合数据库 YMatrix apachenifi nifi

“算法考核没过,老板找我聊了3个小时”:离职程序员重刷数学题

钟奕礼

Java 程序员 java面试 java编程

使用CSS实现图片的磨砂玻璃效果

山河已无恙

12月月更

C语言怎么给函数添加形参的默认值

eng八戒

c 函数 参数默认值

架构实战营模块1第2课 - 如何画出优秀的架构图

净意

Nginx动静分离、缓存配置、性能调优、集群配置

C++后台开发

nginx 中间件 性能调优 后端开发 C++开发

AngularJS进阶(十五)Cookie ‘data‘ possibly not set or overflowed because it was too large

No Silver Bullet

Cookie AngularJS 12月月更

防治“虚假种草”,小红书技术团队干了这几件大事

小红书技术REDtech

3月寒窗!啃透美团保姆级分布式进阶技术手册,4月终入美团定L8

程序知音

Java 分布式 java架构 后端技术

AngularJS进阶(十四)AngularJS路由问题分析

No Silver Bullet

路由 AngularJS 12月月更

程序员:平安Java岗面试耗尽了我毕生所学,想了想,还是去阿里吧

钟奕礼

Java 程序员 java面试 java编程

模块一作业

闲人Eric

架构实战营

关于K8s中资源配置范围管理(LimitRange)的一些笔记

山河已无恙

12月月更

Linux 定时器介绍

eng八戒

c 定时器 Linux Kenel C++

cmake 入门笔记

eng八戒

c makefile 工程管理 cmake C++

面对当下最热的多模态,为什么这些业界和学界专家说“不必追热点”

小红书技术REDtech

MySQL锁,锁的到底是什么?

Java永远的神

MySQL 数据库 程序员 面试 后端

面向场景级的业务资产沉淀和开放

原力在线

架构 DDD 场景 业务资产

关于Linux中作业调度 crond 和 systemd.timer 使用场景

山河已无恙

Linux Kenel 12月月更

信号量的无序竞争和有序竞争

eng八戒

c Linux Kenel 信号量 C++

看完这篇,还不懂JAVA内存模型(JMM)算我输

JAVA旭阳

Java 并发

思路一转,春暖花开!动动手指,这段程序性能又双叒提升2s~15s

靠谱的程序员

MySQL MyBatisPlus Mybatis-Plus

100页6W字的Java面试题,去过大厂面试的程序员都说被问到过

钟奕礼

Java 程序员 java面试 java编程

极客时间运维进阶训练营第五周作业

老曹

AngularJS进阶(十六)脏值检查及语音识别集成

No Silver Bullet

语音识别 AngularJS 12月月更 脏值检查

架构实战-模块1作业

mm

架构实战营 10期

下次面试再一上来就问我线程有哪些状态,我上去就是给他一 jio

钟奕礼

Java 程序员 java面试 java编程

8年程序员年初被迫毕业,前后面试30家公司,如今终于拿到Offer!

程序员小毕

程序员 面试 程序人生 后端 架构师

亚马逊 CTO Werner Vogels:2023 年及未来五大技术趋势预测

亚马逊云科技 (Amazon Web Services)

人工智能 大数据 亚马逊云科技

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