`
lwz7512
  • 浏览: 332515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex程序员的四重境界

阅读更多
以前见过一些文章描述程序员的层次、水准、特征等等内容,这类文章很好的从广义的角度来定位并区分出程序员的水平和能力。相对于Flex开发者来说,尽管这个群体目前在国内还不是很大(仍然有很大发展空间哟),但是这种高低差别依然存在,如果广大开发者能从这个四重境界中准确定位自己,那对于将来的技术发展是很有帮助的。


第一重 初级程序员

Flex初级程序员是指经过一周到一个月的间歇性学习(自学)和模仿而形成的上手级开发者。这个定义主要从投入精力和学习路线来规定的,这个层次的程序员往往是出于一时的爱好或者项目的需要而进入改领域的学习。其特点是能做一些简单的应用,能搞清楚flex应用的开发过程,使用flexbuilder能拖拽出一个界面来,并能写简单的AS脚本,从而完成一个基本的Flex应用。这类程序员从此就再没有深入研究,而且没有完整的看过官方的所有开发文档,也没有体会到Flex/RIA开发的思想,基本上就在该领域停滞不前了。


第二重 中级程序员

该阶段的程序员是指超过三个月的学习(自学)并完成至少一个项目的进阶级开发者。位于此阶段的Flex开发者通过扎实系统的文档学习并通过实战的演练,对Flex整个框架有很全面的认识,能够熟练使用IDE进行MXML/AS开发RIA应用,对程序结构、程序运行流程、对于flex应用与传统web应用的区别都有很好的理解,能独立的实现flex为前端技术的web应用。这类程序员注重基础、细节,尤其是flex应用与web应用与桌面应用的差别与联系,而且善于钻研技术,非常具有软件开发的潜力,而且只需加以时日便可进一步上升成为高手。


第三重 高级程序员

Flex高级程序员是指连续从事一年以上企业级Flash/Flex应用开发并在项目中承担主要角色的高手级开发者。这个层次的修炼很不容易,首先需要自己不断的努力,而且最难办到的是能在一个长期使用Flex技术的公司(team)中持续锻炼。处于这个层次的Flex程序员往往对企业级RIA架构比如cairngorm非常熟悉,而且能对各种RIA架构做出自己的评价。对新项目的功能和模块、组件的划分都有清晰的认识,对于Flex应用的方方面面例如幕后的运行过程、显示结构的模式、事件流顺序、组件的制作手法、程序规模和性能的控制都有深刻的理解。对于这个层次的flex程序员来说,自定义一个通用的组件是很容易的事情,因为他对于Flex的组件体系甚至组件的源码他都了如指掌。夸张的来说,他们写flex应用很少看语法参考,写代码甚至可以在记事本里完成。这样的flex开发者在全球都很少,属于高手中的高手,是大公司争强的对象,也是广大flex开发者努力的目标。


第四重 资深程序员

资深Flex程序员是指有着多年的RIA开发经验(超过10年的软件行业从业时间)并有广泛的软件开发相关技术背景的大牛级人物。这样的人物,只要是你接触Flex这一领域就能听到他的大名,他们的博客是众多Flex开发者的圣殿,他们的声音就是整个社区的福音和号角,他们的著作是我们的圣经,这样的人物常常会在大型活动比如360Flex或者adobe MAX大会上经常出现,他们代表着这个领域的前沿和潮流。这样的程序员往往是Flex技术进步和发展的原动力,是我们Flex开发者努力一生的目标,甚至是我们的偶像,比如Ted Patric以及他的博客上的Disruptive Evangelism(突破性的传道者),总共才11个人(都是Adobe公司的)。


作为一个普通的Flex开发者,您是那一级呢,离最高境界还有多远呢?
分享到:
评论
25 楼 wuxiao_v 2008-07-25  
lordhong 写道
bigpanda 写道

另外通读Flex的文档,似乎Flex不支持线程,对Flex更精通的人可以确认或纠正一下。

是的,flex采用asynchronous event calls,没有multi-threading。


没有 多线程是怎么实现异步的呢
24 楼 bvcat007 2008-07-10  
bigpanda 写道
我是第零级,花了一个周末把Flex的文档翻阅了一遍,从概念的角度明白了Flex能干什么。


弱弱的问,flex是干什么的?
23 楼 sm4llb0y 2007-09-19  
cool,正在向3,4级努力中~~~
22 楼 Chamjoneu 2007-09-17  
总结得挺好的 学习事物确实有有这么几个阶段 感觉自己应该已经上升到中级水平了 在做了一两个应用之后 现在开始考虑 重构 flex的定位 技术间交互的问题了。 cairngorm是个不错的框架 特别是里面的locator模式 很容易就能构建 基于ws的应用 而且把一堆的烦人的event listener什么都标准化了 值得推荐 希望早点有两个大型的标准应用开源出来。
21 楼 咖啡豆子 2007-09-15  
<br/>
<div class='quote_div'><span class='postbody'>而且最难办到的是能在一个长期使用Flex技术的公司(team)中持续锻炼。<br/>
<br/>
<br/>
这句话说到点上了,目前国内的公司就是接一个项目算一个,在客户面前拍着胸脯说从从修电脑,铺网线到软件开发都能做,结果就是程序员被逼着短期内拼拼凑凑搞个项目然后卖钱,很少有机会在一个方向上持续锻炼.<br/>
<br/>
<br/>
<br/>
</span><!----></div>
<br/>
<br/>
<br/>
20 楼 lwz7512 2007-09-14  
目前就企业应用的大多数情况来看,单纯使用flash/flex的情况是比较少的,所以,就象你所说,结合flash和html是比较好的选择,比如在html页面中的图表就可以采用flash,而其他部分仍然用html,通过javascript两者可以进行很好的交互,用户体验也非常好,可以实现优势互补。
19 楼 dlee 2007-09-14  
Flash的可用性其实才是最大的问题。Flash爱好者可以再读一下高手Luar在一年半前所写的文档:
从Flash 走到AJAX——使用者经验与开发者经验的二三事

不回避问题,才有可能取得进步。理想情况下是将Ajax与Flash完美地结合在一起,AIR看来就是往这个方向努力的。
18 楼 dlee 2007-09-07  
不过除了各位所讨论的技术问题之外,一种面向Web的表现层技术要取得成功,还需要从Web可用性和是否符合REST两方面来考虑。我前两天写了一篇blog,讨论Flash的可用性问题。各位感兴趣可以看看:
http://blog.csdn.net/mozilla/archive/2007/09/04/1771124.aspx

在我看来,后面这两个方面对于这种技术是否能够取得成功甚至更加重要。Silverlight除了在技术上超越Flex/Flash以外,还需要在后面两个方面全面超越Flex/Flash。
17 楼 lordhong 2007-09-07  
那篇博客写的口气我很看不惯,就像linux用户写windows如何如何不好一样,抓住别人的短处说个不停。Flex在Adobe接手后,已经和以前MACR出来的东西完全不一样了。再说,能设计出Flex的人并不是笨蛋,有很多利害取舍,都是经过悉心考虑的,权衡利弊而得之。而作为使用和开发者的我们,要客观看待技术,选合适的用:)
16 楼 lwz7512 2007-09-07  
楼上说的很好,现在看来大家对这客户端技术的态度很平衡了,剩下的就是如何发挥和挖掘各自的优势了。
15 楼 bigpanda 2007-09-07  
dlee 写道
很多人都认为Ajax是使用错误的技术来做正确的事情,因为至今JavaScript仍然不够强大,而且很多人认为HTML作为一种表现媒体非常差劲。同样有很多人认为Flash是错误的技术。

但是用户并不关心这些,Ajax和Flash仍然在为用户创造价值。目前对Ajax和Flash的需求量是最大的,需求会推动技术的发展(例如出现新的强大的开发框架)。Ajax和Flash仍然在迅速发展,我相信Ajax+Flash在三年之内都会是我们最现实的选择。三年之后的事情,我不认为这里的人有能力来做预测。


提到一个技术的在某些方面的限制,并不否认这个技术能够创造巨大的价值。我在我写的几个帖子里也没有否认Flex的价值,所以不用树个不存在的靶子开火。

但是作为技术人员,明白一门技术的长处在哪里,限制在哪里,这是一个起码的要求。做到这一点才能知道什么时候选择什么样的技术,什么时候要绕着走,什么时候绕不过去了,必须开发新的技术。

我从来没有否认过Flex的巨大价值,要不我干嘛花一个周末把文档全部看了一遍。天下没有完美的技术,只有有用的技术。

三年内,我的看法是除了Ajax和Flex/Flash,Silverlight是支不可忽视力量。

另外那篇博客用了Flash将死这种吸引眼球的话的确让人不爽,但不能否认他写的别的东西还是很有价值的。没有对Flash的深刻了解,是写不出这种东西的。
14 楼 treenode 2007-09-06  
关于线程支持问题,我听说原因之一是因为多线程库的体积比较大,对解释器和类库的尺寸会带来不良影响,延长下载时间,所以Macromedia决定暂不支持它。有个旁证:Silverlight 1.0的运行库只有1兆多点,而1.1因为支持的功能多就一下涨到4兆了,这个问题也是需要权衡的。
13 楼 lwz7512 2007-09-06  
很平衡的观点!
12 楼 dlee 2007-09-06  
很多人都认为Ajax是使用错误的技术来做正确的事情,因为至今JavaScript仍然不够强大,而且很多人认为HTML作为一种表现媒体非常差劲。
同样有很多人认为Flash是错误的技术。

但是用户并不关心这些,Ajax和Flash仍然在为用户创造价值。目前对Ajax和Flash的需求量是最大的,需求会推动技术的发展(例如出现新的强大的开发框架)。Ajax和Flash仍然在迅速发展,我相信Ajax+Flash在三年之内都会是我们最现实的选择。三年之后的事情,我不认为这里的人有能力来做预测。
11 楼 bigpanda 2007-09-05  
lwz7512 写道

Jeff Vroom: Yeah, Java is a great programming language and I think for serious programmers and for applications on the server, where you need multi-threading, you know, it’s really the best option out there, but for business programmers and for people that maybe are more focused on design, some of the concepts in Java, particularly, multi-threading and synchronization, I think, make it hard for those people to consume and collaborate than with these less-skilled programmers. So, with ActionScript, it’s a singly threaded model like JavaScript, where none of them causes to block, it’s very asynchronous. So, when you make a call that needs to be asynchronous, you get a call back handler, that will then handle the results of that operation, so this is a much more efficient way of building applications for people that are less skilled and when you only have a single user I think that programming model is simpler.



我最讨厌这种说法,搞得business programmer象二等公民似的,需要保护起来,旁边就有一个强大的武器,不让你用。

在大多数情况下,event模型是够用的,但是没有线程支持,总是一个限制。
10 楼 lwz7512 2007-09-05  
回复大熊猫bigpanda:

“他的基本观点是Flex建立在一个错误平台(flash)上面”

Flex建立在Flash平台(flashplayer)上是Adobe(macromedia)的必然选择,现在flashplayer9的全球普及率以及达到90%以上,在评估RIA技术的两个主要方面"reach and rich",flash平台已经做到rich了,至于本身flashplayer/swf的缺陷或者不足那就另当别论了。试问,有比flash平台更好的选择吗?难不成要建立在pdf平台?


“里面提到swf对内嵌字体的支持很差,这点对我想写的应用影响很大”

或许swf对特殊字体的使用比较麻烦,但是至少对中文宋体的显示是没有问题的,我想知道,你真的需要其他字体比如楷体、隶书在flash应用中使用吗,那你的文件尺寸有多大,你试过吗?记得以前用java生成过swf文件,只要一嵌入中文,文件尺寸就非常庞大。这确实是flash的问题,但是我们可以预期,在flashplayer10推出之后,flash中涉及到的文字处理的难题将一举突破。


“Flex不支持线程,对Flex更精通的人可以确认或纠正一下”

个人认为在客户端没有必要支持多线程,基于事件的程序就很有效率,而且很容易开发。目前flashplayer9核心已经支持多线程、硬件加速、高清视频音频解码、三维贴图渲染(papervision3D),有这样一个高性能的平台来开发,作为flex程序员应该感到很幸福。
此外,这里对actionscript/java的线程处理差别做了解释:
3. Flex Technology uses ActionScript. Why would a developer choose to use ActionScript over say Java or JavaScript?

Jeff Vroom: Yeah, Java is a great programming language and I think for serious programmers and for applications on the server, where you need multi-threading, you know, it’s really the best option out there, but for business programmers and for people that maybe are more focused on design, some of the concepts in Java, particularly, multi-threading and synchronization, I think, make it hard for those people to consume and collaborate than with these less-skilled programmers. So, with ActionScript, it’s a singly threaded model like JavaScript, where none of them causes to block, it’s very asynchronous. So, when you make a call that needs to be asynchronous, you get a call back handler, that will then handle the results of that operation, so this is a much more efficient way of building applications for people that are less skilled and when you only have a single user I think that programming model is simpler.

9 楼 lordhong 2007-09-05  
bigpanda 写道

另外通读Flex的文档,似乎Flex不支持线程,对Flex更精通的人可以确认或纠正一下。

是的,flex采用asynchronous event calls,没有multi-threading。
8 楼 bigpanda 2007-09-05  
bigpanda 写道
我是第零级,花了一个周末把Flex的文档翻阅了一遍,从概念的角度明白了Flex能干什么。


可以就这个话题再多说两句。

在一个新技术刚出来时,力争对这个技术有个全面的,概念上的理解是很重要的。要了解这个技术的局限在什么地方,这样才能决定在这个技术上做出多少投资。

当时这篇博客给我的印象很深:http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx

这个人可以说是Flash大高手,深入了解Flash文件格式,写过一个SDK,深受用户好评,他的基本观点是Flex建立在一个错误平台(flash)上面了,Silverlight更有前途。

通读他的博客,里面提到swf对内嵌字体的支持很差,这点对我想写的应用影响很大。

另外通读Flex的文档,似乎Flex不支持线程,对Flex更精通的人可以确认或纠正一下。

当然竞争是好事,对软件行业和我们开发者,最好这两家打的你死我活,谁也吃不了谁。
7 楼 williamy 2007-09-04  
我属于什么级别,给我Flex的帮助文档,任何东西我都有信心搞定,但是在notepad上一个我都写不出,我都不明白为什么需要Flex,和Flash有什么区别?RIA口号了多年,偶已经放弃了flash多年,有一天偷偷看了一个adobe lab,发现和记忆中的flash2004里用的没有什么差别,flex2.0和flex1.0基本不变,唉,能不能搞得有点前途一点的东西啊
6 楼 lwz7512 2007-09-04  
i_love_sc 写道
看上去好像有点眼熟。是把什么改改的吧。


绝对没有参考过任何文章!

相关推荐

    Flex学习大礼包(flex基础教程、flex和java整合)--下载不扣分,童叟无欺

    2&gt;具有FLEX基础的JAVA程序员 3&gt;具有JAVA基础的FLEX程序员 4&gt;JAVA程序员 4&gt;FLEX程序员 【目录如下】 Flex大礼包 └─Flex教程 第01章 Flex简介.ppt 第02章 MXML.ppt 第03章 ActionScript 3.0.ppt 第04章 Flex中的...

    flex高级程序员职位说明书

    【高级程序员职位说明书】 在IT行业中,高级程序员是软件开发团队中的关键角色,他们负责编写系统的核心模块和关键算法,确保软件的高效运行和稳定性能。以下是对高级程序员这一职位的详细描述: **职位概要:** ...

    flex lcds 2.6程序员开发手册

    ### Flex LCDs 2.6 程序员开发手册知识点概述 #### 一、Adobe LiveCycle Data Services ES 2.6 概述 **Adobe LiveCycle Data Services ES 2.6** 是一款专为Flex应用程序提供的服务器端技术平台,旨在帮助开发者...

    Flex错误编号及对应错误信息

    几乎包含了Flex中所有的错误编码,以及编码错误提示信息。方便Flex程序员快速定位错误地方。

    Flex&PHP入门例子 PHP程序员的Flex快速指导

    本文着重于介绍Flex,并为HTML和PHP开发者提供示例。...每一个部分都有独立的,可运行的例子供参考。...我会由浅入手,逐步深入,使用基本的代码...本指南的目的就是要告诉你用Flex开发创建富互联网应用是件多么简单的事。

    Flex 3.0中文版API文档

    flex程序员的最佳帮手,新手老手都需要!

    Flex与Java整合demo

    这种模式下,Flex程序员和Java程序员可以独立工作,配置资料网络上已经很丰富,本文不再赘述。 **第二步**:将Java元素融入Flex工程。 1. 在Flex视图中,新建一个Flex项目,并指定Java源码的根目录。在Flex ...

    flex4系列教程

    程序员并不习惯使用画图工具,时间轴和可视化面板等来开发富网络应用,Flex 的出现解决了这一问题。有了 Flex,程序员可以使用 Action Script 和 MXML 编程语言快速开发富网络应用。 Flex 对开发者更具吸引力,而 ...

    Flex与Java整合

    这是最常见的整合方式之一,特点是Java程序员和Flex程序员可以完全独立地工作。这种方式下,Java工程师负责后端逻辑的实现,而Flex程序员则专注于前端界面的设计和交互逻辑的编写。两者通过数据接口进行交互,如...

    完整的三种flex与java整合方式

    在这种模式下,Flex程序员和Java程序员各自负责自己的部分,独立开发。Flex应用通常通过HTTP或AMF协议与Java后台服务进行交互,使用 BlazeDS 或 LCDS (LiveCycle Data Services) 作为中间层来处理数据交换。开发者...

    MyEclipse下配置Flex

    - **独立配置**:在这种模式下,Java工程和Flex工程分开,Flex程序员和Java程序员各自负责自己的部分,通过接口或HTTP服务进行通信。 - **Flex工程加入Java元素**:这种配置方式中,Flex项目会包含Java代码,编译...

    phper 程序员最新一期杂志,讲到flex

    《PHPer程序员最新一期杂志》聚焦于Flex技术的深度探讨,这一期的内容无疑为PHP开发者提供了宝贵的资源,帮助他们拓宽视野并提升技能。Flex作为一款强大的富互联网应用程序(Rich Internet Application,RIA)开发...

    Flex万年历记事本_flex源码

    Flex是Adobe公司推出的一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这种技术允许开发者创建具有高度交互性和动态视觉效果的Web应用,提供比传统...

    flex3使用说明

    Flex 的出现是为了迎合更多的开发者,吸引更多的 JSP/ASP/PHP 等程序员。Flex 使用非常简单的 .mxml 来描述界面,很像 HTML,非常适合 JSP/ASP/PHP 等程序员使用。Flex 的出现也为了标准化界面描述语言,类似于微软...

    Flex的事件机制笔记

    对于初级Flex程序员或爱好者来说,理解这一机制至关重要。在本文中,我们将深入探讨Flex事件的各个方面,包括事件流、事件类型、自定义事件的创建与处理。 首先,Flex的事件流分为三个阶段:冒泡阶段、捕获阶段和...

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

Global site tag (gtag.js) - Google Analytics