我应该学习Silverlight还是JavaScript/JQuery/CSS/HTML?

17

我是一位有经验的桌面开发人员,使用C++/C#/WinForms等技术。到目前为止,我在Web开发方面做得非常少。现在,我已经到了职业生涯的一个节点,在这个点上,我感觉应该开始进行Web开发,不是为了取代我的桌面开发经验,而是为了成为更全面的开发人员。

我已经学习了一些HTML和JavaScript,但并不精通。我对.NET非常熟悉。

那么你的意见是什么?我应该集中精力掌握HTML/CSS/JavaScript/JQuery(配合后端ASP.NET或PHP),还是应该培养我的.NET经验并深入学习Silverlight?

我对性能、采用率等因素很感兴趣,以及任何其他可以指导我的决策建议。

PS:我已经阅读了这篇文章,但它与我的问题略有不同。

12个回答

25

如果您真的希望成为一名开发人员并转向Web开发领域,我强烈建议您从HTML、CSS、JavaScript、jQuery、ASP.NET AJAX路线开始。

这么做有很多原因,但最重要的是这些都是Web开发的基础。最终所有内容都将呈现给用户,而JavaScript/CSS是我们必须经常处理的事情。CSS和跨浏览器功能仍然是一个问题,理解它的工作原理是成为熟练开发人员的基本要素。

然后是JavaScript/JQuery部分,在很多方面这也是现在的基本要求,因为人们期望丰富、功能强大的用户界面,并且了解如何利用这些技术至关重要。

Silverlight也很好学,但我认为首先需要掌握基本的Web开发技术并获得经验。特别是因为Silverlight在大多数情况下只是网站的一小部分。


17

偶尔你可能会使用Silverlight,但普遍情况下你会使用XHTML/JS/CSS。这个选择应该是显而易见的。


除非你能找到一份 Silverlight 开发者的工作。 - Chris S
很明显,但这样并不重要。你会发现在更广泛的xhtml/js/css领域里找到工作比在Silverlight领域里要容易得多。 - annakata

5

特别是如果你的主要目标是成为一名更全面的开发人员,我认为你应该先学习基本的Web技术,只有在之后(如果你遇到无法用它们解决的问题)才将其与你对.NET的知识相结合。

虽然Silverlight和Flash是解决某些问题的好工具,但在进行Web开发时不应该是你的首选。


4
我和你有同样的感受。跟上已经进行多年的技术是相当困难的事情。有些开发人员总是可以在Javascript/Ajax等方面轻松胜任,所以我宁愿成为技术的早期采用者。这样可以让你真正擅长某些东西,并且可以在学习/犯错误时没有那么大的压力,因为其他人已经领先你3年了。
至于Silverlight/Flash接近到期的说法,我不同意。在Ajax/Html中制作RIA应用程序的60%时间都用来让东西看起来好看(或只是让它们看起来像什么..)。对于大多数从Winforms或类似东西过来的开发人员来说,这不是一个好的时间利用方式。花时间去思考你的“div”面板是否会正确出现,这太80年代了!
在我看来,Silverlight将成为内部企业应用程序的主流。这很简单!更便宜的建造、更便宜的测试和更好的外观!对于公司机器上的30秒安装,您就可以避免零部署问题,在浏览器中拥有一个看起来像桌面应用程序的应用程序。为什么要使用Asp.net?同时,由于Silverlight被设计为正确分离设计/编程,因此更容易让设计师对应用程序进行美化。
对于企业桌面之外的世界,采用将会较慢,因为开发人员受到可访问性和让尽可能多的人使用他们的东西(因为每个人都在试图赚钱!)的驱动。与移动设备兼容会让大多数公司远离使用Silverlight或Flash,因此在这个领域,我预计Ajax将成为Web应用程序最流行的形式一段时间。
目前,我认为比起开发各方面技能,我更愿意在特定的开发领域表现出色。这看起来比花费一生困在firebug中想知道我的CSS为什么没有生效要有趣得多! :-)

3
个人建议您加强XHTML/CSS/JS/后端技能。尽管Silverlight在网络上越来越流行,但它仍然像Flash一样只是整个网络编程的一个小子集。XHTML等技术无处不在,是基础,您会发现对此有更多的需求和用途。
如果您不是在寻找“学习一些东西来帮助我找到工作”,而是想成为更强大的程序员,我强烈建议您学习这些技术并结合PHP使用。这将与您所熟悉的内容有很大的区别。学习完全不同的东西会使您成为更强大的程序员。

3

好的,这显然是一个意见问题,但这是我的观点... 任何开发人员今天都应该精通HTML、JavaScript、CSS和SQL。

我刚刚参加了一个用户小组巡回演出,我是开发技术(.NET(我)、PHP、Python和Java)小组的一员,我们每个人都同意,你需要首先学习Web“语言”。即使你最终进入Silverlight领域,知道Web语言也会帮助你看到你的Silverlight内容如何适配到更大的框架中去。

不要限制自己,学习Web。


2

众所周知,选择哪种技术取决于手头的任务。

说到这个,我选择了Silverlight 2。我在做业务应用程序。去年12月,我开始使用ASP.NET MVC开发新应用程序。由于要处理DIV、CSS和JS等问题而感到沮丧,在节假日期间我进行了一些秘密工作,并在很短的时间内重新实现了我的小应用程序中已编码的所有功能。

我已经熟悉XAML(来自我之前做的WPF应用程序),这有助于我。但是我老板最满意的是速度和开发的便捷性。突然间,我不再花时间调整我的表示层,而是编写业务规则。

到目前为止,一切看起来都很好。我的编码进展顺利,我的工作满意度更高,我又喜欢上编码了 :)

重点是,在受控环境下,对于LOBs,Silverlight 2毫无疑问是最好的选择。我不熟悉Flex,但我听说它在开发流程方面与SL2相当类似。


2
我和你有相似的背景,我决定专注于使用Silverlight 2进行Web开发。这主要取决于您想要做什么类型的开发。某些应用程序更适合其中一种。
我做过少量的ASP.NET(带有AJAX)和PHP。就个人而言,我不喜欢这种类型的开发。在各种浏览器中处理HTML / CSS问题是很麻烦的。调试Silverlight 2 C#与调试HTML / CSS / JavaScript是完全不同的世界。虽然肯定有一些很棒的Web / AJAX应用程序,但我总觉得这些只是权宜之计。别误会,HTML / CSS / JavaScript / AJAX将永远比Silverlight,Flash等在网络上更为突出。但我致力于业务应用程序,使传统的Web模型适用于这些应用程序总是导致巨大的UI妥协。我从未接触过Flash / Flex,因此Silverlight 2是我第一次能够交付可以像桌面应用程序一样构建/调试/支持的基于浏览器的应用程序。
至于Rich B关于需要JavaScript / AJAX技能才能使用Silverlight的评论,这可能对Silverlight 1是正确的,但对Silverlight 2不是正确的。当然,集成Silverlight与传统Web开发的能力是存在的,但不是必需的。

1

我倾向于认为Silverlight/Flash开发应该留给真正的设计师...那些不仅有图形设计的天赋,而且对动画流程有扎实的理解的人。当你使用Web技术(尤其是HTML和CSS)时,你可以很好地利用设计师的构思来创建一个美丽的Web界面,并从这个框架中进行工作,以便用Javascript/Jquery使其活跃起来。

更重要的是,Web应用程序的广度和范围非常广泛,可以处理各种各样的问题,而Silverlight和Flash的应用程序则受到了更多的限制。虽然您确实具有直接使用现有技能集跳入Silverlight的强大优势,但Silverlight的安装基础足够轻,以至于您无法轻松地让所有人查看您的工作。

此外,(来自ASP.NET MVC程序员的经验),您有充分的机会在ASP.Net领域培养您的.Net技能。我最喜欢MVC策略的原因是我再次完全控制我的HTML(维护外观和感觉的加分项),并且拥有全面的工具来让我在比以前更短的时间内构建疯狂复杂的数据驱动站点。Web开发和Winforms开发之间唯一的区别就是您用来与用户交互的媒介。


0

我的表弟是一名网页设计师/开发者,他告诉我很多人希望你不仅要知道Flash背后的动作脚本,还要了解设计部分。因此,从另一个角度来看,要充分利用Flash,你需要成为一名合格的程序员。Flash基本上是设计和编程的结合...所以如果你想掌握这个程序,显然你必须能够同时做到两者。一个好的设计师可以让它看起来漂亮,但你必须进行编程才能赋予其功能。

除非有一些神奇的Flash动作脚本编写者,我对此一无所知。 = /


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