VCL是基于系统的,根本在于系统API,FMX是基于绘图的,根本在于渲染引擎 
VCL的发展受制于系统,(你在VCL的代码里面可以看到Borland对M$的妥协),而FMX的发展仅仅受制于硬件
VCL的性能更高,但是效果相对低下;FMX性能更低,但是效果相对更好 
如果要理解FMX的精华,可以从我实现的富文本和VCL下实现的富文本对比中看出来,VCL下TRichEdit大量运用了API,但是我全部是靠着绘图实现的,使用最多的就是Canvas

个人感觉,现在安卓手机性能过剩很严重,没必要纠结界面到底是原生的还是绘制的吧?FMX的效率也没有传说中那么低,主要还是看功能的实现算法。
就好像汇编其实没有想象中效率那么高一样,如果不是大神写出的神级汇编,效率未必比编译器做出的高多少呢。

http://tieba.baidu.com/p/4934621524?qq-pf-to=pcqq.c2c

http://tieba.baidu.com/f?kw=delphi

-----------------------------------------------------------------------------------------

FMX相当于在界面上自己又做了一个小操作系统

FMX的自画界面我也不看好,比如复制粘贴,太丑了,系统做得很好很精细的复制粘贴界面,就是无法调出,比如MIUI,复制粘贴还能有个放大镜,可以选择到屏幕边缘的文字,可以选择剪贴板内多个可粘贴的文字;还有那个Memo,有的时候该折行的不折行,有的文字看不到了。文本输入框,隐藏剪贴板后,再点击就弹不出来了;系统本身的文本框就没有这个问题。底部输入框输入时自动上移界面,好像是操作系统本身就有的吧,FMX还得自己编很多代码,也不一定编好。自己编码补漏洞是另外一回事。
FMX给我的感觉是在界面上自己又做了一个小操作系统,手机本身的操作系统上的好处都被抛弃了。
FMX唯一的好处,就是一套代码跨平台,懒人专用。

-----------------------------------------------------------------------------------------

1、利用FMX的跨平台优势,结合PXL(就是以前的Asphyre),做游戏是不错的选择,全平台通吃。
2、至于说到大项目,恕我直言,所谓大项目至少预算在千万以上的吧。这种项目大多数BOSS是不会愿意去尝试FMX这种新框架的。
3、小应用之类的,人手不足,而且又有Delphi方面知识积累的话,其实FMX是个很不错的选择。

性能比起VCL略差(UI方面,因为毕竟封装了那么多层)
需要非常绚丽的UI效果的话,Firemonkey是首选,style玩的深了就能体会到。 
目前Firemonkey在win跟mac上的稳定性,足以开发商业应用了
比较成功的项目有mockplus,网恒桌面等

http://bbs.csdn.net/topics/391874556

-----------------------------------------------------------------------------------------

Delphi DirectX 图形与游戏程序设计——完整版

http://download.csdn.net/detail/u013485894/6919781

-----------------------------------------------------------------------------------------

VCL严格来说是windows only的框架,内部大量使用了windows API和消息处理,移植到其他系统很困难,当年Borland搞的跨平台框架CLX只是支持win32、Linux两种平台,也没有做到100%兼容VCL,FMX支持的平台更多,显然不太可能。

VGScene本来就是Delphi的第三方组件库啊。
第三方组件库这么庞大完整,差个IDE和编译器就是一套开发工具了。说明Delphi还是有市场的。
国内CB市场太小了,招聘的少,跟Delphi不是一个级别的。
Delphi、Qt、WinForm基本一个级别的。

就规模来说,Delphi的VCL/FMX框架比Qt、WinForms大得多,比整个JDK、.net framework还要大一些,我统计过,DelphiXE5附带的source中定义了12248个类(不包括提前声明的类),.net 3.5中大约有9800多个类,JDK 1.8.0(Java SE 8)中有4240个类。

http://bbs.csdn.net/topics/392008934

-----------------------------------------------------------------------------------------

Delphi XE2 已经推出了,这将是一场技术革命!支持64位开发,移动平台开发,web开发等等...下面看看XE 2中到底有什么新东西。 
  1. VCL Style   如果你对Web编程很熟,VCL Style就是delphi版的css,想像一下只要换一个style,所有的按钮菜单表格都换了新的颜色和风格,十分酷。XE2中自带了预定义的几种Style,用户可以添加新的并且和其他人分享。 
  2. 64Bit Support   大部分人可能用不到,可对少数用大内存的程序应该就非常有用了。 
  3. FireMonkey   这个可能是本次升级最具亮点的东西了,会上发的笔记本上说这是下一代的业务程序平台(The Next Generation Business Application Platform)。简单来说,FireMonkey是一个新的架构,和VCL是平级的,而且是跨平台的,目前支持Win32,Win64,Mac OS, iOS. 听起来有点像Java或者.Net的意思,不过FireMonkey侧重的是图像图像方面的应用,比如HD和3D,整个实现是基于GPU的Open GL接口。会上演示了3D版本的程序,类似Mac的图片浏览器,光影处理等等。因为界面是矢量图形的,可以任意放大等等。 
  可以看出这个技术是颇具雄心的,它不再像VCL一样调用Windows的API,每个Button和Label都是重新实现,实时绘制的。因为 不用Windows API,切换平台只要重新编译一下就可以了。同时也支持1中的Style技术。可以预见在图像处理和游戏领域,特别是平板电脑上有所作为。 
  4. Data Snap   简单说就是Server可以了给指定客户端发消息了 
  5. Fast Report集成 
  Fast Report是我用过最好用的报表组件了,单买也得200刀,新版中已经集成了 
  6. Live Binding 动态绑定 
  同样你如果熟悉ASP.NET这个就很容易理解,就是所有的组件属性都可以动态的和数据源绑定。类似以前的Data-Aware组件,现在所有的组件都具备这个能力了,而且不限于此。比如你可以将button的width属性绑定到数据源。 
  7. 移动平台的支持 
  会上很多关于iOS和Android的内容,特别是Rad PHP程序可以直接编译发布到iPhone,iPad或者Android设备,未来可能会增加对BlackBerry的支持。 
  8. Cloud支持 
  主要针对Amazon和MS的云平台,国内估计还没有开始普及 
  另外,会上很多白头发,鲜见年轻面孔,有三分之一的人竟然用过delphi 1. 国内的delphi用户群应该好一点,但也应该都不年轻了。技术虽好,用户群还是很重要。我想Embarcadero应该想更多的办法吸引学生,比如对学 生推出免费版本等等。对老用户而言,如果还在用旧版本,是时候升级到新版了。当然了,公司有能力的话应该买正版。

http://bbs.csdn.net/topics/380182523

玄虚出品Delphi教程的前言 good的更多相关文章

  1. 【Android进阶系列教程】前言

    起因 因为初学Android的时候还没有写博客的意识,现在Android的门是入了,正在进阶的道路上行走,但是就这一路也走了不少的弯路.我想,总得来说Android入门还是比较容易的,网络资源比较丰富 ...

  2. OpenGL 完全教程(写给Delphi的开发者) 前言

    前言 在开发了许多2D图形程序之后,许多人开始对3D图形编程产生了兴趣.学习一套3D API,是进行3D图形编程的基础.在有趣的3D图形编程中,3D API只不过充当着一种低级的工具而已.因此,在这里 ...

  3. Esfog_UnityShader教程_前言

    很多人在学习Unity的时候对Shader都是一知半解,作为刚入职半年的新人接触Shader的时间也并不长,正因为是新人才能体会到学习Shader时候所遇到的困难和迷茫,无奈于资料不好找,网上难得的几 ...

  4. 教程-经典Delphi教程网

    有理想+志同道合的人+取长补短去协同工作=完美团队一流的项目 + 三流的执行者 = 垃圾项目三流的项目 + 一流的执行者 = 完美项目 自己公司网址:http://www.kaideruixin.ic ...

  5. Java不走弯路教程(前言)

    本教程的程序基于Windows开发,所以你需要有一台安装Windows操作系统的电脑. 前言本教程将带你完成Java的初学和WEB框架的开发,学完本教程,你将完成对Java的入门并且对下一步不再迷茫. ...

  6. Django笔记&教程 0-1 前言

    Django 自学笔记兼学习教程第0章第1节--前言 点击查看教程总目录 1 最初的想法 自学Django已经有一段时间了,自认收获不少,学的还算可以,然而实际去做项目写代码的时候,很多用法记得不清, ...

  7. Java web轻量级开发面试教程的前言

    本文来是从 java web轻量级开发面试教程从摘录的. 为什么要从诸多的Java书籍里选择这本?为什么在当前网络信息量如此大的情况下还要买这本书,而不是自己通过查阅网络资料学习?我已经会开发Java ...

  8. ROS零门槛学渣教程系列前言

    为什么选择ROS: 1.ROS是开放源码的,在该平台上可以找到非常很多免费开源的代码包,并且这些例程还带wiki说明文档: 2.机器人领域最新的算法直接支持ROS,简单几个步骤就能运行: 3.ROS工 ...

  9. Android系列教程之前言

    内容转载自我自己的博客 目前安卓的主流开发语言是Java,在正式开始Android系列的教程之前,需要知道一些基本内容 Android介绍 Android['ændrɔid] 是一个基于Linux 内 ...

随机推荐

  1. 指向“**js/shop.js”的 <script> 加载失败

    指向“”的 <script> 加载失败 找了半天没找到原因 原来是meta里面的 csp Content-Security-Policy <meta http-equiv=" ...

  2. Linux下network提示Determining if ip address

    转自:https://blog.csdn.net/ranran0224/article/details/73323925 Centos系统重启网络服务network 会提示Determining if ...

  3. Python之with语句原理

    我们看一个with处理文件操作的实例: with open('/etc/passwd') as f: for line in f: print(line) 这段代码的作用:打开一个文件,如果一切正常, ...

  4. Consul 简介、安装、常用命令的使用

    1 Consul简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul的方案更"一站式" ...

  5. Kettle中配置oracle RAC

    由于项目中使用了oracle v-ip做了oracle数据库集群,现在需要把项目中程序进行升级. 原来的程序中直接使用的是JDBC然后配置的kettle.properties配置文件,如下图: 根据项 ...

  6. Tomcat集群---Cluster节点配置

    <!-- Cluster(集群,族) 节点,如果你要配置tomcat集群,则需要使用此节点. className 表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递. cha ...

  7. Unity3d 下websocket的使用

    今天介绍一下如何在Unity3D下使用WebSocket. 首先介绍一下什么是websocket,以及与socket,和http的区别与联系,然后介绍一下websocket的一些开源的项目. WebS ...

  8. Opencv convertScaleAbs

    void cv::convertScaleAbs( cv::InputArray src, // 输入数组 cv::OutputArray dst, // 输出数组 double alpha = 1. ...

  9. 智能合约调用另一合约中的payable方法

    参考链接: https://ethereum.stackexchange.com/questions/9705/how-can-you-call-a-payable-function-in-anoth ...

  10. .net 多线程同步的相关知识点

    在多线程开发中,共享对象的同步是经常遇到的问题,以下总结了C#中线程同步的几种技术: 1,InterLocked原子操作 Decrement(ref int location);递减1 Add(ref ...