我应该学习Flash/Flex/ActionScript还是HTML/CSS/JS(“HTML5”)?

6
我对网站开发这个领域还比较新(大概两周左右,我的第一段代码在这里here,我很喜欢它),然后我开始学习使用Adobe的Flash Builder 4,我相当喜欢它(虽然有时候Action Script会让我感到烦恼)。
但是最近我一直在阅读关于“未来”的网站开发、RIA和Web 2.0等方面的资料,似乎Flash/Flex/ActionScript框架的主要竞争对手将会是HTML/CSS/JS堆栈(或者说“HTML 5”)。
所以,显然我不想花时间去学习一门语言(Flash/Flex/AS3),而几年后它就可能会被淘汰,最终不得不再学习另一门语言(HTML/CSS/JS),当我现在可以转而学习另一种语言。
我的主要兴趣是信息丰富(以数据库为导向)的网站,具有高度的用户互动性,可进行定制、上传等操作。我喜欢整个移动网络方面,并希望能够开发该平台以及移动应用程序等。我喜欢整个“实时”方面(例如Tour de Flex亮起地图显示用户活动),不特别关注超级复杂的动画,显然希望事物具有响应性和用户友好性。
所以,对此的任何建议都将非常感激,我只想得到一些关于个人学习和发展的总体方向的建议。
谢谢!

网站错误:无法加载网站首选项;未找到任何首选项 - 只是说一下 - Matt Ball
8个回答

7
您在问题中犯了一些基本错误。HTML/CSS/JS组合与HTML 5不同,该组合在当前实现中运行良好(暂时忽略IE的某些恼人问题)。HTML 5是HTML的新扩展定义,具有许多新功能,如本地存储。
HTML 5也并未完全确定,也没有完全支持。
您应该首先学习HTML和CSS;通常,您仍需要一个网页来嵌入您的Flash内容。出于类似的原因,您应该获得一些关于Javascript的基本知识。
方便的是,Javascript将延续到Actionscript,后者是相同ECMAscript标准的变体。

在我看来,Flash网站已经过时了。现在人们更喜欢使用JS而不是Flash来制作解决方案。 - Ben
难道不是美好的想法吗?在工作中,我有一台64位Ubuntu电脑,似乎没有可用的Flash支持。你会惊讶于网站(商业类型的网站高达90%)中出现大块“缺少插件”的比例。 - Charlie Martin
我喜欢你提到JavaScript技能可以转移到Actionscript的观点。对我来说也是如此,但是相反的情况也存在。我同意他在提问时犯了错误,但我认为他应该关注更高层次的问题。我也认为你完全正确,HTML + CSS是其他所有内容的基础。 - Brian Stinar
1
虽然JavaScript和ActionScript都是ECMAscript的变体,但由于ActionScript 3.0基于现已废弃的ECMAscript4.0草案标准,因此它与Java更相似,而不是JavaScript(尽管AS2.0非常类似于JS)。 - Allan
回复:HTML5与当前实现的比较 - 是的,从技术上讲这是正确的。然而,HTML5也已经成为任何基于标准的Web应用程序的热门词汇。这有点像AJAX或Web 2.0,因为对于开发者社区之外的任何人来说,它都意味着“酷炫的东西”。 - Ryan Kinal

4

Flash不会在短时间内消失,而考虑到HTML5委员会的工作速度缓慢,HTML5规范也需要一段时间才能完全被标准化。

此外,在所有这些令人愉快的HTML5 Web应用程序变得普及之前,世界上的Windows用户将需要比Internet Explorer 8更好的浏览器。考虑到10-20%的Web用户仍然卡在IE6上,我认为我们不会在相当长的时间内看到HTML5成为主流。当然,到那时候,我们将看到HTML6,并开始缓慢而痛苦地让世界升级。

个人而言,我不使用Flash,因为对我来说确实不需要它,但Flash也是网站开发之外非常有用的工具。例如,很多三A游戏都有用Flash构建的菜单和用户界面。

但是,如果您掌握其中一个或两个技术,您可能不会缺乏工作机会。


2
你的观点关于采用率是正确的,但我个人决定不再担心那些不会放弃IE6的白痴了。大多数都是公司内部或其他B2B应用程序,其中一半可能也会阻止Flash。在很大程度上,这是我们自己的错,因为我们继续认为我们需要支持IE6。所以,对于OP的问题,我会说“不要担心恐龙”。话虽如此,Flash在未来几年仍将是普及的。 - Jim L
我同意@Jim的观点。我已经老到记得Netscape 4的时候了。当事情发展到我们必须抛弃那些用户的时候,我们这样做了,即使我相信市场份额仍然有20%左右。现在我们正处于MSIE v6的阶段。除非绝对需要,否则不值得投入开发资源来支持这些用户。 - ghoppe
@Jim 同意IE6的观点(可悲的是我在工作中也是其中之一),但这不仅仅是IE6的问题吧?在HTML能够普及之前,我们还得等待世界摆脱IE7和8。 - MrBliz
我认为更好的一点是IE9将支持HTML5,但不会在Windows XP上发布。但是,是的,还有许多政府部门仍然停留在IE6上。 - Allan
我一直避开IE7/8的雷区;)。大多数知道自己可以选择浏览器的人似乎都倾向于使用FF。 - Jim L

3
学习像Actionscript这样的语言永远不会浪费时间,您将从中培养出编程思维,这将使您能够理解编程概念,并且如果/当您有需要时,轻松转向其他语言。如果您计划开发Web应用程序,则学习HTML和CSS是必不可少的,但它不会带给您相同类型的知识,因为它使用非常不同的逻辑。如果您喜欢开发Web应用程序的想法,那么有一天您可能希望开发桌面应用程序,而HTML就没有多大用处了,而通过AS3获得的编程知识将不会丢失。

2
这只是为了学习而玩吗,还是你有特定的任务要完成?我喜欢用正确的工具来完成工作。如果你没有特定的任务要完成或者没有任何限制,我会选择最受市场欢迎的技能。不幸的是,我不确定哪种技能是最受市场欢迎的。
我的建议是去了解一些JavaScript中的JSON类型内容。这似乎是一个相当稳定(甚至可以说是不容易过时)的AJAX演变,非常广泛并且可能会持续一段时间。如果你专注于高级理论概念,具体实现的细节就不那么重要了(在我看来)。
我认为学习使用JSON(而不是XML)的AJAX是一个不错的选择,这样你就可以学习如何实现异步信息丰富的网站。如果每次拉取信息都必须重新绘制整个网站,那么你就做错了什么。无论你使用的平台是什么,AJAX的概念都会派上用场。
祝你好运!
-Brian J. Stinar-

1

不要再费心使用Flash了。

没错,它看起来漂亮、功能强大且相当普及。但正如你在问题中所观察到的那样,它正在退出历史舞台。

让我们比较一下Flash和它新来的竞争对手HTML5 canvas元素。

Flash只受Adobe支持;如果你想要优质的开发工具或资源,你必须从他们那里购买(大部分情况下)。

HTML5 canvas不需要专有的开发工具。HTML5 canvas由每个主要浏览器供应商支持——Mozilla、Apple、Google、Microsoft。所有供应商都将提供文档和彼此竞争,这应该会产生更精细的产品。

当HTML5 Canvas讨论OpenGL支持(直接图形卡访问)时,猜猜是谁唯一的反对者?当然是Adobe。其他人都希望为canvas提供硬件图形支持。

换句话说,在这里是Adobe与其他所有人对抗,而Adobe不会赢。他们可能会保持现状一段时间,但最终他们会失去立足点,canvas和其他技术将取而代之。

简而言之:学习即将被取代的专有技术没有用,不如学习现代开放技术。


1
"Adobe在这里与其他所有人对抗。你说得好像这是一个弱点。我认为他们掌控产品实际上是一种优势。如果他们发现了一个漏洞,他们可以在下一个更新中进行编程,可能在一年内90%的计算机都会有那个版本。相比之下,HTML规范的更新周期为4-5年。两者都有其存在的意义,我认为HTML5将取代Flash目前所用的很多功能,但我认为Flash在未来的网络中仍将有一席之地。" - MrBliz
这是微软对抗其他所有人,这是否意味着如果有人愿意付费,为他们编写Windows软件会是一个坏主意?我更喜欢在开放的、以标准为驱动的环境中工作,但在回答“我应该使用XXX来解决我的问题吗?”之前,仔细查看特定问题的要求和规范非常重要。由于问题的提出者实际上没有指定任何内容,因此对于一个未定义的问题,您的论点与我的论点一样有效。 - Brian Stinar
4
这篇帖子非常糟糕、有偏见且不提供任何有用信息。其中提到“如果你想要高质量的工具,就必须购买它们”,这种说法本身就让人怀疑其可信度。你可以去搜索HaXe、FlashDevelop等工具。请问你能否提供一个可靠的来源证明Adobe阻止了OpenGL的使用?据我所知,HTML5将通过WebGL支持OpenGL。我相信大多数热衷于HTML5的人都只是从事简单网站的JS/HTML开发,并没有接触过更复杂的网络应用或游戏开发。当你构建更为复杂的富应用程序或游戏时,你会很快意识到JavaScript和HTML5并不是理想的选择,也远远落后于现代技术。 - Allan
http://www.youtube.com/watch?v=uofWfXOzX-g - Dagg Nabbit
Adobe是W3C的成员,而不是WHATWG。W3C和WHATWG都在开发HTML5规范。我相信我曾经在某个IRC日志中读到过Adobe对WebGL投了反对票,但我现在找不到了。也许是我想象的。关于工具——除了Adobe的商业产品外,我还没有找到任何能够理解一些我手头的Flash垃圾的好工具。我很想听听一个不错的替代方案。 - Dagg Nabbit
显示剩余7条评论

0

HTML5仍然非常不稳定,所以你不应该尝试它。

对我来说,HTML5很棒,但有些企业还没有摆脱IE6,考虑到它的当前状态。Flash虽然有用,但有时非常繁琐,而其他时候它甚至不能在某些计算机上工作,或者让某些计算机真正成为“插入单词”的痛苦。

最好从CSS和HTML4开始。先掌握基础知识,然后再逐步深入学习。到那时,你就会知道自己想要什么了。


2
仅仅因为市场领先的浏览器没有实现它,并不是不去尝试它的理由。无论你是否喜欢,HTML5都将成为现代网络的一个巨大部分,如果楼主想要一份工作,那么他真的应该开始学习它。 - MrBliz
1
如果 OP 想要一份工作,那么他会很幸运,因为他不需要让网站在 IE6 上正常工作。HTML5 仍需要时间。而这段时间可以用来做一些确保你能得到工作、拿到报酬并有时间去看更有趣的事情的事情上。 - back2dos
无论出于何种原因有人给你的投票点了反对,+1。先学习 CSS 和 HTML,等到那时可能已经发布了 HTML5。 - Dominic K
Doozer,可以这样说,除非在最流行的浏览器中运行,否则没有什么东西可以成为“网络的重要组成部分”。 - fenomas
哎呀,我在想iPhone浏览器算不算最受欢迎的之一呢? - Dagg Nabbit
远远不够,如果你指的是包括桌面在内的通用网络浏览。仅限移动设备,它似乎排名第二,仅次于Opera。 - fenomas

0

个人认为这里所有的答案都过于复杂了。这是我的看法:

使用让你兴奋的技术,以及最适合你现在想要构建的东西。

如果你现在想要构建的应用程序非常适合使用Flex,那就使用Flex。如果HTML5中的某些东西吸引了你并且不会放手,那就深入研究它。你总可以在一两年后改变技术,而你将带着你所学到的关于设计、架构和可用性的一切知识 - 学习新的脚本语言和一些新的工具并不难。你在这里做出“错误”的选择的唯一方式是,如果你因为某种原因选择了一种技术,但最终发现自己无法享受到任何建设成果。

我认为这是最好的方法的原因是,没有人能告诉你哪些技术在未来几年内会存在或不存在。Adobe可能会破产;Steve Jobs可能会去世;Google可能会因反垄断诉讼而被拆分。该死的,Flash明年可能会出现在iPhone上 - 或者HTML6可能会采用一种新的、强类型的JITable编程语言。或者其他一百种事情可能发生,使你(和我们)的预测变得无效。

就我个人而言,我预计Flash和HTML5/6/7在五到十年内都会充满活力和繁荣 - 因为它们背后都有成功的组织投资于它们的未来,并且因为我从未听说过任何有意义的争论,为什么一个的成功需要另一个的失败。但这只是一个猜测,我的猜测并不比你的好。现在专注于制作好的东西,未来的技术路线图将会随着时间的推移而出现。


0

在我看来,所有的东西都值得学习,特别是当涉及到HTML/CSS/JS/Flash时,它们是完全不同的系统/技能池,专门为初级开发人员量身定制。

HTML是标记语言,非常重要,因为它概述了XML的使用。CSS编写视觉格式规则。JavaScript是一种脚本语言,是入门级编程逻辑的绝佳方式。而Flash是一个很好的系统,可以让你进入编译语言中的面向对象编程。

随着你不断探索,你会发现很多技术实际上只是同一种冰淇淋的不同口味。虽然不同的语言有自己的细微差别,但大多数编译语言之间存在基本相似之处。我从Flash开始,进入了iPhone开发...虽然Objective-C是一个更庞大、更复杂的系统,但在几年的AS3经验后,我仍然知道如何构建我的第一个应用程序。.NET和Java也是如此。此外,我赞同Flash并没有死亡的观点,尽管在iPocalypse的冲击下失去了一些市场份额。无论它是否在未来几年内消失,学习AS3除了HTML/CSS/JavaScript之外仍然是非常有价值的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接