RIA platforms lend apps more Flash

本文对比评测了Macromedia Flex 1.5 和 Laszlo Presentation Server 2.2两个RIA(富互联网应用)平台。两者均利用Flash作为运行环境,通过服务器代理进行数据聚合,提供流畅的应用体验。尽管都支持Web服务调用和图表展示等功能,但Flex凭借更优秀的性能和更丰富的开发工具,在企业级应用开发中表现更佳。

RIA platforms lend apps more Flash

http://productguide.itmanagersjournal.com/pg/04/12/04/1241233.shtml?tid=11103&tid=10506&tid=106

Product: Macromedia Flex 1.5: Laszlo Presentation Server 2.2
Reviewed: December 03, 2004
By: James R. Borck - (Source: infoworld)

Macromedia Flex and Laszlo Presentation Server bring new tricks to Internet application delivery

Building effective applications -- ones that can be distributed and run smoothly over the Internet -- requires circumventing the shortcomings inherent in static Web browser delivery. Many companies are turning to RIAs (rich Internet applications) to achieve that goal.

Two updated products, Macromedia Flex 1.5 and Laszlo Presentation Server 2.2, offer RIA platforms with a delivery model involving server-side proxies for data aggregation and the Macromedia Flash run time as a desktop thin client.

These Flash applications request and receive data via the server but manage the presentation layer and processing logic locally. The interaction feels like a desktop application, runs in a browser, and, after the initial application is loaded, requires only a minimum amount of data transfer to update the local display. The process reduces the number of round-trip page refreshes required to accomplish a task using browser-based HTML delivery.

The Flex and LPS (Laszlo Presentation Server) platforms have a distinct advantage over other RIA vendors in that Flash run time has broad market penetration and acceptance, making it a trustworthy delivery model for consumer-side applications.

Further, your UIs get a usability upgrade thanks to the glitzy Flash animation. With effects now accessible programmatically, there's no need for developers to endure the tedium of frame-based animation.

Macromedia and Laszlo take different approaches to reach the same goal. Unlike Macromedia's bundled IDE, Flex Builder, Laszlo offers no development tools to speak of, aside from a rudimentary debugger. However, Laszlo recently open-sourced LPS under the CPL (Common Public License), making it available free for commercial reuse and perhaps a little easier to justify to a cost-conscious executive.

Because Flex and LPS are just presentation-layer tools, they snap onto, rather than replace, existing back-end infrastructure. That makes it easy to build and deploy apps at a fraction of traditional development costs. With features for charting and support for Web services calls, they make a good match to tasks like improving customer service initiatives and implementing executive dashboards applications with ease.

Overall, both vendors did an impressive job. In the grand scheme, though, you'll still need to look to Integra SP's AltioLive and other vendors for bells and whistles such as XML transformation tools or Web services connection wizardry. For features such as offline sync, local file access, reliable persistence, and information sharing across local RIA apps -- like the baked-in capabilities in Digital Harbor's PiiE -- you'll need Macromedia Central to circumvent Flash sandbox restrictions.

RIA Showtime

Getting started with these packages was easy; both use a one-click process to set up the server. LPS streamlines installation by bundling and installing all of the third-party pieces in its Java-based infrastructure -- namely, Jakarta Tomcat app server, Python XML parser, and JGenerator (an open source tool used to merge run-time data into Flash bytecode, similar to Macromedia's Generator).

The architectural basics of LPS and Flex are grounded in the same primary fundamentals: a Java application server platform, with XML and JavaScript (ActionScript, in the case of Flex) defining a foundation class for event management and data binding, and a variety of canned, customizable interface components for building event-driven apps.

Both vendors' development languages are XML-based. LPS has its own LZX presentation language, and Flex uses MXML (Macromedia Flex Markup Language). Although both were easy enough to follow, Flex Builder, included in Flex's pricing, is a welcome addition for quickly creating and binding interfaces.

However, there's something disappointingly ironic about a UI development platform being as deficient in its own user interface as Laszlo is, because it lacks an IDE. Flex Builder, on the other hand, provides a DreamWeaver-like experience for managing MXML. I could work in both code view and design view simultaneously, easily effect data binding, and work with events from a pallet of predefined behaviors. 

This version of Flex shows off a new data-grid component that does a fine job of displaying tabular data. I was able to wrap text and images within cells and easily customize row heights. I also preferred the full range of mouse-tracking events, which accommodates mouse-over events, unlike LPS's button messages.

Laslzo has done a good job of improving the LPS developer's guide, and this version offers an impressive number of prebuilt components for building interfaces. I easily modified visual properties programmatically; for example, to highlight a screen element to capture a user's attention based on the value of a variable. With absolute and relative data addressing via XPath, working with LPS's XML data trees was easy.

I did encounter minor rendering difficulties with LPS, and I think better text manipulation tools would benefit layout efforts. Nevertheless, the outcome was a slick-looking application that far surpassed anything possible using straight HTML-based markup.

I found SOAP performance slow and SOAP header support lacking in LPS, but the additional whitelist tag helps to extend security over Java classes being called from your applications. LPS now supports Web services calls using Java RPC, XML-RPC, and SOAP-compressing transmissions using gzip. Flex adds its own AMF (Action Message Format) protocol for binary transfer and compatibility with Flash Remoting.

Performance Tiebreaker

When it came to running my applications, there was a discernable performance difference between Flex and LPS during both the initialization sequence and in overall server responsiveness. In the past, I found LPS to be sluggish. Although Laszlo has made some improvements to that end, the latest version remains stymied by underperformance.

In general, application startup and initialization performance was better in Flex. Macromedia has re-architected its delivery framework, separating underlying Flash libraries from application code. The new run-time libraries improve performance by allowing applications to share a single code base. Users receive the foundation and application code in the initial transfer, but subsequent applications require downloading only application-specific code, which saves bandwidth.

LPS 2.2 includes a new tool called Krank to help developers optimize application startup performance. Krank jumpstarts initialization by precompiling static views directly into the app, bypassing startup on the client. The problem with Krank was that it caused my applications to grow considerably, often to more than twice and, in one instance, three times the size. 

Any perceived user benefits from Kranking an application need to be weighed against factors such as bandwidth availability and processing capability of the client. Some type of profiling tool would offer developers more than the trial-and-error insight currently available.

This development-tool need extends, too, to LPS' general server administration. Beyond basic monitoring reports, there were minimal tools for managing server-side caching optimization or client-side run-time performance controls. Flex offered no better. As RIA becomes more prevalent, these types of tools will be necessary for managing performance.

Making the Grade

Laszlo's wagon is currently hitched to Macromedia's profit model and the nonstandardized future direction of Flash, which brings up the issue of the long-term ROI and extensibility of products such as LPS. LPS still only compiles to the Flash 5 standard, so it is unable to directly support Flash MX assets or take advantage of enhancements in Version 7 clients.

Laszlo needs to take the abstraction afforded by its XML language and reduce its run-time dependency on Flash, as well as broaden its choices for cross-platform opportunity. I would like to see both vendors work toward solutions that allow apps to be completely decoupled from the presentation server.

These tools offer a good first step toward simplifying application delivery and improving end-user interaction, but given that the greatest benefit realized over competing RIA offerings is the ubiquity of the Flash browser, both may be best suited to direct-to-customer, rather than in-house, applications. Of the two, Flex is nearest to realizing reliable, stovepipe application integration possibilities.

When it comes to enterprise-grade app dev, Flex makes rich Internet applications attainable. For smaller, niche projects, Laszlo can fit the bill -- and the cost savings may just make it worth the added time or effort to get LPS working.


Post review for Macromedia Flex 1.5 »  
Post review for Laszlo Presentation Server 2.2 »  
基于NSGA-III算法求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文围绕基于NSGA-III算法的微电网多目标优化调度展开研究,重点介绍了如何利用该先进多目标进化算法解决微电网系统中多个相互冲突的目标(如运行成本最小化、碳排放最低、供电可靠性最高等)的协同优化问题。文中结合Matlab代码实现,详细阐述了NSGA-III算法的基本原理、在微电网调度模型中的建模过程、约束条件处理、目标函数设计以及仿真结果分析,展示了其相较于传统优化方法在求解高维、非线性、多目标问题上的优越性。同时,文档还提供了丰富的相关研究案例和技术支持背景,涵盖电力系统优化、智能算法应用及Matlab仿真等多个方面。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源优化领域的工程技术人员;尤其适合正在进行微电网调度、多目标优化算法研究或撰写相关论文的研究者。; 使用场景及目标:①掌握NSGA-III算法的核心思想及其在复杂能源系统优化中的应用方式;②学习如何构建微电网多目标调度模型并利用Matlab进行仿真求解;③为科研项目、毕业论文或实际工程提供算法实现参考和技术支撑。; 阅读建议:建议读者结合文中提供的Matlab代码实例,逐步调试运行并深入理解算法流程与模型构建细节,同时可参考文档中列出的其他优化案例进行横向对比学习,以提升综合应用能力。
内容概要:本文深入探讨了YOLOv11目标检测模型在计算机竞赛中的应用价值,介绍了其作为实时目标检测前沿技术的核心原理,即通过单次前向传播实现目标分类与定位,具备高精度与高速度的优势。文章阐述了YOLOv11基于深度学习和卷积神经网络的特征提取机制,并重点分析了在竞赛中提升性能的关键技巧,包括数据集精细化管理、针对性数据增强策略(如光照调整)、模型结构选择与学习率调度优化。结合自动驾驶、医疗影像分析和环境监测等实际应用场景,展示了其广泛适用性。并通过一段完整的代码实例,详细解析了模型加载、图像预处理、推理、后处理及结果可视化的全流程。最后展望了YOLOv11未来在硬件加速、多模态融合及模型可解释性方面的演进趋势。; 适合人群:具备一定深度学习基础,参与计算机视觉相关竞赛的高校学生、研究人员及算法工程师;熟悉Python和PyTorch框架的技术人员。; 使用场景及目标:①掌握YOLOv11在各类计算机竞赛中的实际部署方法;②学习如何针对特定任务优化模型性能;③理解从数据处理到结果可视化的完整目标检测流程;④为参赛项目提供高效、可靠的解决方案。; 阅读建议:建议结合代码实例动手实践,复现检测流程,并根据具体竞赛需求调整数据增强策略与模型参数,同时关注模型轻量化与推理效率的平衡。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值