我们看到了重新使用台式机的机会。跨平台将继续是关键,但是用例可能会从最佳的媒介开始,并且诸如移动之类的补充体验将被视为是这样。尝试以移动为先,同时尝试构建ERP或交易应用程序可能根本不值得提高生产力,并限制了人们对可能的想象力。您一直在使用IDE,并且在不断发展诸如Visual Code之类的新工具的同时,真正的高性能Web IDE仍然非常不切实际。
毫无疑问桌面应用程序被低估了很长时间。所有注意力都留给了Web和移动设备。尽管微软和苹果都在开发台式机方面取得了长足的进步,但该平台背后的能源和经济动力却要少得多。如今,Web和移动设备的成熟以及协作和AI中的新用例正在推动桌面的重新发现。毕竟,台式机仍然具有巨大的处理和速度优势,而且这种优势还在不断增加。
回顾过去,有充分的理由说明Web应用程序在本世纪90年代末至本世纪初占据了技术世界。通过实际上无处不在的浏览器,它们的部署和管理要容易得多,从而为以低廉的成本或免费向许多人提供应用程序提供了巨大的机会。毫不费力地及时或立即更新是仍然难以克服的功能。但是,人们已经意识到某些类型的桌面应用程序根本不会在网络上匹配,至少在不久的将来不会匹配。
由于简单的事实,几乎所有人都可以使用移动应用程序,因此移动应用程序迅速普及,从而释放了各种用例和经济可能性。有趣的是,许多移动用例仍然偏爱本地移动应用程序—当然,本地操作系统的本地API与台式机完全不同。尽管移动优先应用程序的设计和开发在UX讨论中占据了一段时间,但不同格式之间用例的异质性日益要求一种最适合特定格式和用法的应用程序。
台式机之所以重要,是因为其无与伦比的性能以及屏幕尺寸至关重要。桌面操作系统仍然非常强大且与众不同,特别是与Web相比。最明显的区别就是游戏。尽管网络游戏和移动游戏已经发生了巨大的发展,但在REAL实时游戏方面,您需要台式机(或专用游戏机)。而且,当我们使用具有逼真的图形的虚拟世界游戏时,其他平台甚至都无法接近。
长期以来,老练的开发人员都知道桌面IDE具有非常出色的功能。文本编辑器样式的IDE仍然很受欢迎,但部分原因是Web开发不需要像桌面应用程序那样复杂或高效的类型。正如我最喜欢的Embarcadero Delphi MVP之一所说,“ Web虚拟化编程”。微软在Visual Code方面做得非常出色,但是与RAD Studio Delphi和Visual Studio相比,它还是相对基础的。Web UX有太多限制。高生产率的开发人员通常具有多个屏幕,并在太多的“传感器”和“小工具”上进行中继以实现生产率。以下是RAD Studio Delphi 10.4.1的示例,它带有多个生产力插件,包括导航,书签和多线程调试。
说到UX的复杂性,另外两个趋势将推动人们对台式机和各种用例的兴趣增加。一种是协作应用程序。远程工作正在成为一种标准,并且诸如Zoom和微软Teams之类的协作应用程序是必须的。协作应用程序并不简单。Web和移动客户端可以满足基本用例,但是桌面应用程序仍然更强大。例如,您可以按平台比较缩放功能的数量(我是从他们的网站上选来的)。这些没有按重要性排序,但是数字可以说明。
(Win&Mac)
(iOS和Android)
平台缩放功能
在许多方面,协作应用程序还处于起步阶段,因为用例侧重于简单的通信而非真正的协作。这将我带入了另一个主要技术趋势,即人工智能和机器人自动化。我们只能想象有多少“传感器和仪表”可用来帮助我们提高生产力。游戏可能会给我们一些暗示,说明在工作场所可能发生的互动类型。
当然,网络将继续发展。随着5G宽带速度的急剧提高,应用程序体系结构可能会发生很多变化,但是如果游戏,娱乐或医疗应用程序提供了通往未来的窗口,则桌面本机应用程序仍将至关重要,甚至可能会更加重要。
我们在Embarcadero和我们的许多合作伙伴着迷于在应用程序开发的动态空间中继续发挥思想领导作用的机会。RAD Studio是许多标志性桌面应用程序和最强大的IDE之一(尤其是Windows)的基础。当然,我们今天的工作比台式机要多得多,但是我们对该平台负有特殊责任。
最新版的RAD Studio Delphi 10.4提供了显着增强的高性能本机Windows支持,出色的快速代码完成能力,具有托管记录的更快代码以及现代多核CPU上增强的并行任务,从而提高了生产力,并提供了1000多个质量和性能增强功能。
- Delphi 10.4.1已经全面支持谷歌安卓64位APP开发以及IOS64位APP开发;使用Delphi快速轻松地开发macOS和Linux应用程序。借助具有平台意识的用户界面控件,更快,更智能地交付Android和iOS应用程序。使用多设备设计器快速制作原型并在IDE中进行实时预览。
- Metal驱动程序GPU对macOS和iOS的支持: FireMonkey Metal API支持提供了对未来需求的平稳迁移,并为屏幕渲染提供了更好的本机性能。Delphi macOS平台提供了Metal API支持,而iOS上的Metal API在Delphi和C ++ Builder中均可用。
- 情节提要启动屏幕。对Apple的新启动屏幕故事板要求的集成支持。
- 内置FMXLinux。Enterprise和Architect Edition客户将享受FMXLinux在IDE中的完全集成,以使用GTK +构建Linux GUI应用程序。
- 升级的本机控件。iOS的TWebBrowser控件现在使用WKWebView API实现。Media Player控件的macOS实现现在使用了AVFoundation。Windows平台上样式为TMemo的组件的新FMX实现,为IME提供了更好的支持和其他增强功能。
扩展的C ++库支持,在10.4中,我们已经将众多流行的C ++库移植到C ++ Builder中,从而为在C ++ Builder中使用提供了优化的支持。它包括ZeroMQ,SDL2,SOCI,libSIMDpp和Nematode等库,以及已经受支持的其他库(例如Eigen),可通过GetIt程序包管理器下载。
10.4引入了一个新的Windows 64位C ++调试器。该调试器基于LLDB,在调试64位应用程序时引入了显着的稳定性改进,以及一项重要的新功能,可帮助评估和检查C ++和Delphi字符串等类型以及包括std :: vector和std :: map等在内的STL集合。 。此外,为应用程序生成的调试信息使用其他调试格式。最终结果是更稳定,功能更丰富的调试体验,以及在调试时进行更强大的检查和评估。
为了增强Delphi WEB开发,Delphi已经收购了著名的JS开发框架ExtJS,而且,更棒的是Delphi能够快速创建后端服务器及B/S架构的web应用程序。为Delphi / C ++ Builder选择Web框架对于开发人员和公司来满足业务需求都不再是艰巨的任务。使用Delphi / C ++ Builder进行超快速Web应用程序开发的终极Web框架。Embarcadero和网络上有很多资源,涉及各种框架,各有其优缺点。下面将对Delphi WEB开发框架做一个简单介绍。
RADStudio自身包含的 服务器技术:
- Web Broker:使用映射到CGI,ISAPI,ApacheModules,Standalone(indy)的具体类抽象HTTP Server概念。它可以将URL映射到操作,支持过滤器和全局处理程序。要开始使用WebBroker,请单击此处。
- DataSnap是一种Delphi技术,它允许开发多层应用程序,尤其是多层数据库应用程序。支持Rest,TCP / IP,HTTP / HTTPS。与COM / DCOM向后兼容。这里有一系列教程。
- RAD Server将Delphi和C ++业务逻辑方法加载到RAD Server中,添加一些用户,然后继续。REST / JSON端点是自动创建和管理的。访问控制已处理。数据存储是内置的,或者您可以轻松连接到任何流行的Enterprise RDBMS或云服务。
- SOAP服务:这是一个协议,使您可以访问远程数据或调用远程过程。SOAP数据通常使用HTTP或直接TCP / IP通过XML包装器进行传输。要创建和使用SOAP服务,请单击此处。
RADStudio包含的 客户端技术:包括Rest BaaS客户端,Cloud客户端库,Rest客户端库,SOAP客户端。
第三方Web框架:
以客户端为中心: Pascal-> JavaScript Transpilers。写在Object Pascal和TRAN石板/通讯堆S IN为JavaScript。创建一个纯Web客户端解决方案。与许多流行的服务器解决方案兼容。
- TMSSoftware的Web Core集成到Delphi IDE中。在RAD Studio中编写对象Pascal和设计,构建纯HTML和JavaScript。与TMS的跨平台FNC组件一起使用。构建单页应用程序。具有数据库访问权限的大型可重用组件集。
- Smart Mobile Studio(SMSC)编译器具有自己的IDE,该IDE使用了熟悉的Object Pascal方言。编译为纯JavaScript。有很多目标,例如Node.js Tizen,控制台和Espruino。有自己的RTL和完整的Visual组件框架。
- ElevateSoft的Web构建器transpiler具有自己的IDE,其组件类似于VCL。支持使用本机Elevate Web Builder Web服务器模块。它可以编译为优化的JavaScript。
全栈或以客户端/服务器后端为中心:框架涵盖服务器应用程序和客户端界面。当Server和Visually设计的UI都是一个项目时,最好选择“平衡方法”。对于以下列出的大多数框架,WebBroker是服务器上的核心。
- AtoZed Software的IntraWeb:IntraWeb是Delphi Web应用程序的强大框架。安装到IDE中,以VCL,Visual Client Designer建模。从JS和HTML库构建的客户端。Delphi UI事件处理程序在服务器上运行,可通过typescript进行扩展,最新版本支持WordPress,同时支持HTTPS.SYS开发服务端中间件。关于In-IDE设计器的很酷的事情是,您在开发实时Web应用时会看到它。它也可以在Delphi IDE的外部独立运行,甚至可以在Web浏览器中在线运行。此外,IntraWeb 17还具有本机引导程序和引导程序模板支持。
以下是IntraWeb 17的主要功能:完全向后兼容。双向同步、数据绑定、隐式REST(或显式)、内联数据更新、WordPress插件。双向同步:用户可以跨浏览器中的多个行或跨多个数据集对数据进行任意数量的更改,仅将更改发送到服务器。如果服务器更改单个数据,则这些单个数据片段将自动发送回客户端,而无需更新整个页面。
- FMSoft UniGui:像设计和使用一样安装到Delphi IDE,VCL中。提供数据感知控件,支持桌面和移动设备。允许客户端事件和服务器事件处理程序之类的VCL使用可选的javascript,基于ExtJS框架的强大的Delphi组件,支持Linux平台,笔者强烈推荐每一个Delphi程序员都应该熟悉的WEB框架,可以帮助器快速交付WEB应用。
- 开源Ethea Kitto 2:使用Web代理作为后端。没有视觉设计师,可以轻松使用Ext JS来构建客户端。
以服务器端为中心的 开源:
- Delphi MVC Framework:基于WebBroker构建的Rest Server包含Delphi IDE向导。在Windows和Linux上的Apche或ISS下运行。符合RMM 3级标准。
- 概要mORMot:不使用Web代理,集成的SpiderMonkey JavaScript引擎作为服务器端业务逻辑。ORM / ODM:几乎所有数据库(SQL或NoSQL)上的对象持久性。SOA:将业务逻辑组织到REST服务中。Web MVC:将您的ORM / SOA流程发布为响应Web应用程序。
- 火星好奇号(Mars Curiosity):基于WebBroker构建的轻型Rest Server,安装到Delphi IDE中,支持FireDAC的数据集。
为什么Delphi开发人员想要将Python添加到他们的工具栏中?这全都与库访问和脚本性有关。该开源Python4Delphi(P4D)库由Kiriakos Vlahos,该作者流行PyScripter的Python IDE,允许你作为一个Delphi开发利用的Python的整个集合直接从Delphi库。它还使直接从您的Delphi应用程序轻松执行Python脚本,创建新的Python模块和新的Python类型变得容易。给您的Delphi应用程序两全其美!