今天是假期的第一天,下午与同伴们一起去参观了下南阳汉画馆,感受到了浓烈的科技与艺术气息,这让我灵感阵阵,借助难得的状态,写成此文,以了我几日的心愿。
软件发展到今天,跨平台已经成为了一个不可阻挡的趋势,对现今的几种主要跨平台技术,在这里我们简单的分析一下它们的基本实现原理,在开始之前,我们要先弄明白几个基本的概念。
概念一:
语言与其链接库:语言通常会伴随有对应的链接库,没有链接库的语言,几乎什么什么程序也写不出来,打个简单的比方:你用C语言写一个“HELLO Word!!”小程序,你就要用到“stdio”的链接库,如果你没有使用它,将什么也出不来。
概念二:
平台与链接库:开发平台同样也附带的有对应的链接库,如果一个平台没有链接库,那将是一个没有任何开发空间的平台(此平台没有任何前途...),同样,打个简单的比方,你用Visual C++开发Windows程序,你需要用到GDI32,USER32或MFC等链接库。
搞明白前面的概念,我就好向你们解释跨平台了,我们在一个操作平台上开发的程序,为什么拿到另个平台上重新编译后就不能正常运行了?原因就在于平台的链接库上,比方说,你用C语言搭配Win32链接库(Windows的)开发一个程序,你把它拿到Linux上编译,却无法编译成功,问题就出在Linux没有Win32链接库。
下来我们来看看几种跨平台技术实现的基本原理:
QT:
QT的是这样做的,用一个链接库将各个主要平台的链接库抽象出一个共通的链接库,实践证明,你用C++搭配QT链接库做的程序,可以在不同的平台上编译后运行。
JAVA:
JAVA就要比QT先进了,它不但将链接库统一了起来,更将平台也统一了起来,它使用了一层JVM(Java虚拟机),Java的程序不用再重新编译,就可以直接跨平台运行,正因为如此,Java的口号是,“一次编译,到处运行”,但也因为如此,它牺牲了一部分的运行效率。
(哎~。。。。遗憾。。。。。)。
.NET:
微软的.NET技术的出现晚于Java,按照事物发展的规律来判断,.NET应该比Java做的更好,事实也确实如此,.NET的眼光更高,甚至想把编程语言的规格也统一起来,可以用一个公式来形象的表示.NET,语言规格+平台+链接库=.NET,其程度可以用包罗万象来形容,但是,这样做的很大缺点在于,统一了.NET平台上的语言规格,导致了各个编程语言的千遍一律,特点不突出,比如,如果Delphi准备移植到.NET平台上,为了符合平台要求,它要改掉许多很有特点的语言特性,这对Delphi来说恐怕非常不好,感觉用削足适履来形容这个弊端最合适。
看到这里,你应该对现在主流的跨平台技术有清楚的了解了,它们的实现方式各具特色,为了实现同一个目标,采用了不同的设计思想,但都实现了平台的跨越,这正是程序设计艺术的体现,不是吗?
2010年4月2日(清明节)
分享到:
相关推荐
设计师应当选择广泛支持的中英文字体,考虑到不同操作系统间的字体差异,并通过适当的技术手段(如设置备选字体和Web安全字体)来优化跨平台的视觉一致性。这样,无论用户使用何种操作系统,都能获得良好的阅读体验...
总的来说,三帝Linux-win98无盘网络系统通过跨平台兼容性,既发挥了Linux的低成本和稳定性,又保持了Windows的用户体验,降低了用户的投入成本,提升了网络管理和应用效率,是无盘网络技术发展的一个重要里程碑。
基于Java的Web开发技术因其强大的功能、跨平台的特性以及丰富的开发框架而备受青睐。从Servlet和JSP的早期发展,到现在的Spring Boot、Quarkus等现代框架,Java在Web开发领域的地位依然稳固。随着云计算和微服务架构...
【WebService技术浅析】 随着信息技术的飞速发展,传统的基于特定系统和环境的开发模式已无法满足日益复杂的业务需求。WebService技术应运而生,它为异构系统间的交互提供了通用且平台无关的解决方案。WebService的...
全球跨境电商出口平台是全球贸易的重要组成部分,随着互联网技术的发展,电子商务已经成为了许多国家和个人进行商品交易的主要方式。本文将深入浅析全球主要的跨境电商出口平台,探讨它们的特点、优势、市场定位以及...
跨境电商,全称“跨境电子商务”,是在互联网发展背景下迅速崛起的一种国际贸易模式。它打破了传统国际贸易的时空限制,依托现代网络技术,使得买卖双方可以在全球范围内进行商品或服务的交易。在中国,随着新媒体的...
动态网页技术JSP、ASP、PHP的比较浅析 动态网页技术是指使用服务器...JSP技术具有安全性高、可扩展性强、跨平台性强的优点,但其学习成本较高。 因此,在选择动态网页技术时,需要根据实际情况和需求选择合适的技术。
然而,OPC依赖于Windows操作系统,限制了其在跨平台环境中的应用。 其次,LonWorks是由Echelon公司开发的一种局域网络技术,特别适用于分布式控制系统。它采用LonTalk协议,具有低功耗、高可靠性、自愈能力等优点,...
8. 跨境电商系统应用:根据标签“电商系统”,文章可能讨论了在湖南地区实际运作的电商系统或平台,以及这些系统如何支撑跨境电商的开展和管理。 遗憾的是,由于提供的【部分内容】信息杂乱,无法提供一个确切的、...
PHP 是一种跨平台的服务器端的嵌入式脚本语言,可以大量地借用 C、Java 和 Perl 语言的语法,并耦合 PHP 自己的特性,使 WEB 开发者能够快速地写出动态产生页面。PHP 与 html 语言具有很好的兼容性,可以直接在 ...
Java以其“一次编写,到处运行”的特性,成为跨平台开发的理想选择。其面向对象的特性、丰富的类库和强大的垃圾回收机制,为Web应用提供了稳定和高效的基础。 其次,Servlet和JSP(JavaServer Pages)是Java Web...
MAPGIS的核心特点之一是其分布式跨平台的多层多级体系结构,允许在Windows NT、UNIX和Linux等不同操作系统上运行,并支持TCP/IP和NETBEUI等多种网络通信协议。这种设计使得系统能够适应企业中多样化的部门需求和...
网易考拉海购作为中国领先的跨境电商平台,通过构建基于互联网的物流信息系统,实现了物流信息的实时更新和共享。该系统涵盖了订单处理、仓储管理、配送管理、逆向物流等多个环节,确保了商品跨境流动的高效和顺畅。...
同时,人工智能也推动了媒体机构之间的跨领域合作,例如报社与通信公司之间的战略合作,共同探索新技术与传统媒体融合的新模式。 三、全面把握新闻媒体 人工智能技术在新闻领域的应用突破了传统记者在采写新闻方面...
网络传输控制软件通过统一接口实现跨平台管理,解决不同系统平台的数据传输难题,并对数据包进行预处理,确保跨平台传输的准确性。 3. **多协议透明封装和解析**:封装和解析技术使得信息传输透明化,简化处理过程...
在研究和应用中,我们可以借鉴Java Applet的一些设计理念,如跨平台性和安全性,来改进当前的网络管理工具和技术。 总的来说,Java Applet曾是网络管理中一个重要的技术工具,它推动了网络应用的交互性和动态性。...
再者,物联网技术解决了跨品牌设备兼容性的问题。例如,产业园区的人脸开门需要适配多个门禁系统,停车缴费需要适配多个停车系统,物联网平台可以减少开发的复杂性和工作量,同时也易于移植。 此外,物联网技术还...