Flex 2.0实践

UniApp 2.0可视化开发实战:Flex布局与跨平台代码生成全解析 本文深入解析UniApp 2.0可视化开发工具,聚焦其核心的Flex布局体系与跨平台代码生成机制。通过实战演示,详细阐述了如何利用拖拽操作高效构建兼容微信小程序、H5等多端的页面,并一键生成高质量、可维护的Vue代码,实现从UI设计到代码产出的效率革命。 阅读详情

自从识得Flex以来,我便喜欢上了这个新技术。

说它是新技术,也许有点欠妥。利用AS脚本在Flash中制作表单,这应该是很早以前的事情了,想来很多Flash高手现在仍然对Flex嗤之以鼻,也算是这个道理。其实Flex之所以能够得以流行,完全得益与Adobe给Flash带来的革新:Action Script 3.0。

Flex来了

我以前曾经在Flash中写过一些小程序,主要是为了获得良好的视觉效果。说实话,在所有我用过的IDE中,Flash的IDE的确很糟。界面很挤、帮助很少、动态提示不友好,而且,as脚本很难管理等等。所以,我对用Flash来做稍大一点的项目,从来都没奢望过。只到有一天,我偶然看到了Flex 2。

Flex 2.0.1,是目前Flex的最新版本。用过的人都知道,相比于Flex 2.0来说,Flex 2.0.1的推出,是Flex功能上焕然一新的飞跃。有很多人据此预言,Flex 2.0.1中很多新功能的定位,将直接面对Flash 9,以及Adobe即将推出的Apollo项目。

第一个Flex实践

近期的一个B/S项目,我完全采用Flex来进行客户端开发。由于Flex提供了充足的通讯方式:HttpService、WebService以及Remote Object Service调用。这三种方式都是异步的,并提供了回调事件,这种方式恰好是Ajax大行其道的原因。

基于项目的考虑,在项目中需要进行大量的数据插入、查询、报表、以及数据CRUD的操作,其实,ROS应该是最好的通讯方案。不幸的是,ROS需要Flex Data Service服务,对于多CPU的服务器,这是个高成本的投入,只能忍痛割爱了。因此,本项目采用HttpSevice作为通讯方案。

你是否需要框架?

说实话,在客户端的开发中,我从来没有认真考虑过框架问题。因为,对于HTML和Javascript组成的Web页面来说,的确没有一个很理想的解决方案。可是在Flex中,问题终于出现了。

总体来说,Flex算得上一个独立的开发环境。这一点,类似与Java和.net开发环境一样。Java提供了JDK,.net提供了.net framework,而Flex则提供了Flex SDK。我们的应用,写在Action Script的类和一个个的MXML文件中。对象与对象之间,通过事件和方法调用进行通讯,不同的对象往往需要共享相同的通讯组件和数据、甚至共享代码和变量。因此,当写了十个以上的类时,你就会发现,代码乱的一团糟。

联想在Java中使用Spring的经验,我立即意识到框架的重要性。那几天,我一直在Adobe官方网站上转悠,试图找到些线索。于是,我找到了Cairngorm。

Cairngorm框架

Cairngorm框架,用作者自己的话来说,只能叫做Micro Architecture(微型架构)。的确,Cairngorm只是一些设计模式的应用,包括FrontController模式、Commander模式、以及Proxy模式等。其原理非常的容易理解:

FrontController负责注册所有的事件类型以及事件发生时所调用的Commander。当组件之间需要通讯时,组件向FrontController发出event并在event中传递参数,然后FrontController调用Commander完成任务并更新model中的数据。所有的model中的Data Object都是bindable的,这样,所有的组件自动实现了数据的更新。

ModelLocator是所有model data的核心。系统用到的所有公共数据都存储中ModelLocator中,Commander通过ModelLocator进行数据通讯。通讯采用Proxy的方式,所有的通讯方式都被隐藏在Proxy的后面,这样当更换通讯模块的时候,不会影响到其他的代码。

当然,由于Flex提供的几种Service方式差异很大,所以,Proxy技术并不能完全的实现代码隐藏。但这种技术本身,给我们提供了很大的参考价值。

简化的方案

Cairngorm 的确给我们带来了全新的理念,但我只打算使用它的部分理念,因为,对于一个中小型的项目来说,Cairngorm还是显得复杂。Cairngorm的设计目标是,最大程度上减轻组件之间的耦合,而把所有的对象之间的通讯都改为事件。这样,在减低了耦合性的同时,降低了系统的性能和可测试性。

在我的设计方案中,我去掉了FrontController、Commander等概念,保留了ModelLocator、Event和Proxy。系统流程如下:ModelLocator负责注册和派发事件,存储中心数据。组件通讯采用Event方式,同服务器的通讯采用ServiceProxy。

所有的代码都写在Action类中,所有的Action类都实现了IResponder接口。这样,ServiceProxy就可以把异步事件传播给Action对象。每个Action对象实例化一个ServiceProxy类,并在组件中调用action对象进行操作。如果需要通信,则由组件在ModelLocator中派发事件,另一个注册了该事件的组件获得了通知。

这是一个简化了的设计方案,虽然增加了对象之间的耦合,但整体思路更加清晰,代码量和编译后的swf文件大小都得到了优化。

Flex Builder 2心得

Flex Builder2完全基于Eclipse平台,这给项目的设计带来了极大的性能改善和增强的用户体验。

方便的功能:

  1. 可选的自动编译项目,这样在保存后系统立即更新到bin目录,并能够立即检查出代码中的错误并给出提示;
  2. 可以选择清除所有输出,系统将自动重新进行编译;
  3. 强大的调试功能;
  4. CTRL+ALT+↑ 向上复制一行,CTRL+ALT+↓ 向下复制一行,这个功能在代码编写中非常的实用;
  5. 可以改变代码文件的文件编码;

不足之处:

  1. 无法选择打开项目。如果一个项目从其他地方复制过来,在Flex Builder中在无法打开,只能新建一个项目,然后把这个项目覆盖上去;
  2. 不能自动在Developer视图和Debug视图之间进行切换,甚至连快捷键都没有提供;
  3. 编辑器不支持鼠标拖拽复制,只能采用剪切和粘贴,相当不便;
  4. 调试窗口中不能对变量进行鼠标悬停提示,也不能把变量直接拖拽到watch窗口,变量查看相当不便;
  5. 很多自定义类的方法在动态提醒中无法显示参数定义;
  6. 不能对import列表进行优化。虽然提供了对import的整理功能,但这个功能只在类中可以使用,在mxml中则无法使用;
  7. 缺少代码格式化功能;
  8. 对xml文件支持不好,或者说干脆不支持;

似乎说了很多的缺点,但其实只是因为太关注,所以太看重。Flex 3.0已经在研发的过程中,随着Apollo项目的推出,Flex将会有一个更加值得期待的未来。

全面掌握Flex开发:从入门到实践 本文还有配套的精品资源,点击获取 简介:Flex是由Adobe推出的开源框架,专用于构建富互联网应用程序。本文通过详解Flex的核心概念和技术,引导初学者快速入门。内容涵盖Flex简介、ActionScript 3.0基础、MXML与组件、Flex架构与生命周期、数据绑定、与BlazeDS的集成、调试与性能优化以及实战项目。从理论到实践,本文将帮助开发者全面掌握Flex开发... 阅读详情

相关推荐

FLEX Ethernet协议标准

FLEX Ethernet协议标准,OIF ABSTRACT: The Flex Ethernet (FlexE) Implementation Agreement provides a generic mechanism for supporting a variety of Ethernet MAC rates that may or may not correspond to any existing Ethernet PHY rate. This includes MAC rates that are both greater than (through bonding) and less than (through sub-rate and channelization) the Ethernet PHY rates used to carry FlexE. This can be viewed as a generalization of the Multi-Link Gearbox implementation agreements, removing the restrictions on the number of bonded PHYs (MLG2.0, for example, supports one or two 100GBASE-R PHYs) and the constraint that the FlexE clients correspond to Ethernet rates (MLG2.0 supports only 10G and 40G clients).

一文读懂Flex Ethernet(FlexE)技术

FlexE产生背景 FlexE(Flexible Ethernet)是基于高速以太网接口(100GE及以上接口),通过以太网MAC速率和PHY速率的解耦,实现灵活控制接口速率,以适应不同的网络传输结构。 光传输设备对于UNI(用户网络接口)的需求情况多变,而底层光传输网络的链路速率固定(接口和模块固定),如果通过调整底层传输的模块来适应各种传输需求,成本很高无法适应。FlexE技术是在Ethernet技术基础上,为满足高速传送、带宽配置灵活等需求而发展出来的技术。 FlexE基础概念 FlexE是O

团爸讲算法 1万+

Window10 intel realsense D435安装并实现opencv显示realsense读取的彩色和深度数据(QT+openCV+rsD35)

(1)点击"官方指南" 来到下载页,->最新的稳定版本发布 (本人下的2.16.5,现在最新2.17.0) 不需要做开发,只要下载Intel RealSense Viewer就好,这个就是相机的可视化界面,简洁明了。对应的安装包是Intel.RealSense.Viewer.exe。 本人的毕设要用到深度图做开发,所以安装Intel.RealSense.SDK.exe,SDK...

Pabebe的博客 1万+

AgentsFlex v2.0:Java AI 框架的架构级升级

2026 年 3 月 1 日,AgentsFlex v2.0.0 正式版发布,这是一次架构级升级,全面升级为 AI 智能体开发框架,新增诸多核心能力与模块,优化多项功能。

weixin_39787242的博客 75

ThingsBoard入门实战(七):公共发布和 UI 细节修改

公共发布和 UI 细节修改7.细节修改和公共发布一、公共发布二、UI优化下载运行修改三、下一步还可以做什么?更好的UI更丰富的系统模块 7.细节修改和公共发布 GET到新技能了,想给兄弟们演示,需要给他们每个人一个账号么? 答案肯定是:不需要! ThingsBoard 用 公共发布 解决了这个问题。 一、公共发布 首先我们来看一下路灯设备现在在谁名下? 如下图,路灯都是customerA的, 目前只有它和它的租户可以看到,其他人需要看就需要设为公有。 如图操作: 对于设备详情仪表盘,我们也需要设为公有

AIGC搞起 9119

海思Hi3516平台集成IMX214 Sensor实战:从I2C调试到VI通路构建

本文详细记录了在海思Hi3516平台上集成索尼IMX214图像传感器的完整实战过程。从硬件I2C通讯调试、驱动层适配,到上层VI通路构建与ISP配置,提供了系统性的排查步骤与代码修改要点,旨在帮助开发者快速打通从Sensor到屏幕的完整视频采集链路,解决集成过程中的常见问题。

tcp8optimizer的博客 596

初识Flex

    由于一次面试的需要,我开始接触学习了Flex,从查找文档到编写实例,我深深地喜欢上了它。2004年Macromedia公司推出Flex,——“使用标记语言,像设计网页那样制作Flash SWF文件”。这个特性让人们意识到,原来SWF的世界很宽广。在Flex 2.0正式版发布前,Macromedia先后发布了三个测试版。2.0版本无疑是Flex产品线的一个分水岭,它真正推开了RIA的大门。

我的IT生活之旅 1159

从SAS接口到InfiniBand:一张图看懂数据中心硬件‘黑话’(SFF-8643/8644、QSFP112、NDR/HDR/EDR)

本文深入解析数据中心硬件术语,从SAS接口标准(SFF-8643/8644)到速率标识(NDR/HDR/EDR),帮助工程师快速理解关键性能指标。特别对比了PCIe卡规格(HHHL/FHHL)和光模块选择(QSFP112/OSFP),并探讨InfiniBand在高性能网络中的优势,为硬件选型提供实用指南。

weixin_32103009的博客 427

flexE记录

flexe 是OIF制定的技术标准,通过在IEEE802.3基础上引入FlexE Shim 层实现了MAC和PHY层的解耦,从而实现了灵活的速率匹配。灵活以太网基于Client和Group架构,可以支持任意多个不同的client 在任意一组PHY(FlexE Group)上映射和传输,从而实现捆绑、通道化、子速率功能。

weixin_43300893的博客 726

手把手教你用Matlab/Simulink搭建PMSM的SMO无感FOC仿真(附相位补偿与离散化代码)

本文详细介绍了基于滑模观测器(SMO)的永磁同步电机(PMSM)无传感器FOC控制方法,通过Matlab/Simulink平台实现从理论到实践的完整流程。内容涵盖SMO核心原理、离散化处理、转子位置估算与相位补偿技术,以及双闭环控制系统搭建,为工程师提供了一套完整的无传感器控制解决方案。

weixin_27038245的博客 253

M1/M2 Mac用户看过来:不装VirtualBox,用PD虚拟机也能跑ENSP的保姆级教程

本文为M1/M2 Mac用户提供了一份不依赖VirtualBox,使用Parallels Desktop虚拟机运行ENSP的详细指南。通过ARM架构的Win10镜像选择、组件替代方案和网络配置优化,实现ENSP核心功能的高效运行,特别适合网络工程师在苹果芯片设备上进行网络模拟。

weixin_28683065的博客 411

关于Flex2.0的10个误区

#1 - Flex 需要flex播放器 错误,Flex应用开发需要flexSDK,生成swf文件运行于flashplayer中,不要求其他特定环境支持。 #2 - Flex 需要特定的server 错误,Flex SDK生成的swf文件可以部署到任何的webserver上。以前的flex1.5需要jrun,但是flex2.0已经没有这个限制了。 #3 - Flex 价格不菲 错误,现在flexSD

老不死的Flash程序员 3382

GD32F130之USART多机通信

简介 在多机通信中,一个从机应该只接收它需要接收的数据,且只应该在它需要接收数据时才检测串口。而始终接收RX线上的数据对从机来说是一种负担。 多机通信硬件设计 远距离方案:RS485 板级方案: 静默模式 静默模式有什么作用? 答:如果 USART 处于静默模式,所有的接收状态标志位将不会被置位。 如何进入静默模式? 答:软件可以通过将 USART_CMD 寄存器中MMCMD 位置 1 使 USART 进入静默模式。 如何从静默模式中唤醒? 答:有两种方式可选,①检测到总线

luliplus的博客 299

flex 集成spring

最近用flex做了一个项目,关于网络拓扑的。所以自己搭建一个flex的spring框架; jdk 1.6 u25 tomcat 6.0 springflex 用的是1.01或者1.03 BlazeDS 用的是3版本最新 spring 2.5.6. 用的flex sdk 3.6 在myeclipse 6.0.1(集成flex builder 3,也可以集成flex bulider 4....

不落的太阳 170

【华为OD机试真题 新系统】1029、字符串处理 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1029、字符串处理 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为od,

KJ.JK 218

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

彻底搞懂 flex: 1,flex: auto,flex: 0,flex:none

彻底搞懂 flex: 1,flex: auto,flex: 0,flex:none

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 5822

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

FLEX +SSH实践

     前言:最近在网看见有人请求flex+ssh的例子,其实我自己觉得,如果要结合flex开发完全用不着struts,因为flex有开源的项目BlazeDS ,更容易和Spring Hibernate 结合,但是既然大家需要加之SSH在现在还很流行,我就把我自己所了解的分享给大家,希望大家喜欢,我自己的水平有限哈,其中有很多不足,希望大家能够指出。            开发环境:OS(Windows7 professional), IDE(MyEclipse blue 7.5   FlashBuil

innerp1234的专栏 3441

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

css中flex: initial、flex:0、flex:1、flex:none、flex:auto的区别和使用场景

flex:initial flex: initial【默认值】等同于flex: 0 1 auto ,flex容器有剩余空间时其尺寸不会增长(flex-grow:0),在flex容器尺寸不足时尺寸会收缩变小(flex-shrink:1),同时当前应用flex:initial的元素的尺寸自适应于内容(flex-basis:auto) 使用场景 flex:0 flex:0等同于设置flex:0 1 0%,元素尺寸不会弹性增大(flex-grow:0),但是会弹性收缩(flex-shrink:1),考虑.

朝阳39的博客 5863

推荐开源项目:FLEX - 强大的Swagger 2.0规范验证工具

推荐开源项目:FLEX - 强大的Swagger 2.0规范验证工具 flexSwagger schema validator项目地址:https://gitcode.com/gh_mirrors/flex6/flex 1、项目介绍 FLEX 是一个专为Swagger 2.0规范设计的验证工具,由Piper Merriam开发并维护。这个项目的核心目标是确保你的API定义严格遵循Swagger ...

gitblog_00047的博客 534

Flex2.0文件上传功能(Flex2.0正式版)

Flex2.0文件上传功能(Flex2.0正式版) 简介:        新的Flex2.0类库里提供了文件类,方便了上传/下载文件。下面的程序demo演示了Flex2.0生成flash来访问本地文件,在flash里上传用户选择的文件到服务器,flash客户端可以处理文件上传进度等多个事件,服务器端是C#写的文件接收模块,把用户上传的文件保存在服务器上。        Demo演示了Progr

李浩荣的专栏 733

FLEX:Swagger 2.0 规范的验证工具

FLEX:Swagger 2.0 规范的验证工具 1. 项目基础介绍 FLEX 是一个开源项目,旨在为 Swagger 2.0 规范提供验证工具。它使用 Python 语言开发,是一个功能强大的命令行接口(CLI)工具,用于验证 Swagger API 定义文件。 2. 项目核心功能 Swagger Schema 验证:FLEX 可以对 Swagger 2.0 规范的 JSON Schema 进...

gitblog_00523的博客 471

Flex布局实践

1.什么是flex布局,它能做什么 flex布局翻译为弹性布局,就是会根据外层容器的变化,呈现不同状态,使布局更加灵活方便,任意一个容器都可以被定义为flex布局,我们在平常开发中,移动端使用多一些,像水平排列的导航栏,还有页面上的元素布局,都可以使用flex布局。 看了一些文档,我们照猫画虎,也从它的6个属性出发实践一下,GO!! 注:六个属性分别是---flex-direction、flex-wrap、flex-flowjustify-content、align-items、align-cont.

今天你被AI优化了么 1219

lg flex2 android 6.0,lg flex 2

lg flex 2继去年的G Flex之后,LG近日再度推出了新一代LG G Flex 2曲面屏智能手机,相比前作配置大提升,并且后壳自我修复功能也是得到了加强,是首款搭载高通810顶级八核处理器产品,并运行最新的安卓5.0系统。究竟LG G Flex2怎么样,下面小编为大家详细介绍下这款旗舰新机。LG G Flex2怎么样 LG G Flex2体验评测作为LG LG G Flex的后续升级产品,...

weixin_39767386的博客 204

Flex 2.0 软件及文档下载

Flex 2.0 基于AS 3.0 Flex Builder 2 Plug-in 基于 eclipse3.1Flex 2.0 Soft Downloads: http://www.adobe.com/devnet/flex/ Flex 2 Documentation: http://www.adobe.com/support/documentation/en/flex/打包

蓝色诱惑的专栏 1433

Flex 2.0.1中css的新用法

以前在flex中如果要切换不同的样式,用css文件来导入;这样做能丰富应用程序的界面,但是还是有一个问题存在,就是在每次切换的时候都要重新装载css文件,你切换7次就要装载7次很不方便,现在在2.0.1中可以直接把css文件编译成swf,只要装载一次就可以了,具体用法如下: 设计样式我一般是通过Flex 2 Style Explorer,很直观,设计好后就可以直接粘贴到c...

121
上一篇: B/S项目中的RIA:YUI-ext和Flex孰优孰劣?
下一篇: 在Websphere中使用FineReport
tttk
博客等级 码龄27年 37粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值