如何控制Web开发的复杂性?[关闭]


17

在我职业生涯的大部分时间里,我一直是服务器端程序员,但直到最近才开始在Web开发上花费更多的时间。我为编写一个像样的Web应用程序需要掌握的东西而感到惊讶。只是列出了我需要学习的一些工具/技术,

  • 服务器端编程语言(Java / JSP,ASP,PHP,Ruby或其他)

  • 体面的Web框架(适用于任何中型到大型应用程序)。

  • HTML和CSS

  • Java脚本

  • Javascript库(主要用于AJAX的JQuery / ExtJS等)。很高兴知道,即使没有必要。

  • 至少具有网页设计的基本知识-布局,颜色,字体等。

  • 对网络安全性有很好的了解。

  • 对性能/可伸缩性问题有很好的了解。

  • 测试,浏览器兼容性问题等。

清单继续。

因此,我对经验丰富的Web开发人员的问题是-你们如何设法学习并保持自己在很多事情上的最新动态?在开发Web应用程序时,如何处理这些领域中涉及的复杂性,同时又设法编写设计良好,用户友好,安全,性能良好且可扩展的应用程序。

作为一名Web开发人员,是必须成为所有行业的杰作,还是应该专门从事一两个领域,而将其余的留给团队的其他成员?


起初,新事物很难。不要让那让你失望。意识到您将无法与经验丰富的,经验丰富的开发人员竞争,并尽力而为。随着时间的推移,扩展您的技能。无论如何,所有这些工具变化如此之快,您必须成为终身学习者才能在开发人员中生存。那,或者得到“幸运的”编程。20年
P.Brian.Mackey 2011年

Answers:


9

服务器端编程语言(Java / JSP,ASP,PHP,Ruby或其他)

使用框架。以Django为例。

体面的Web框架(适用于任何中型到大型应用程序)。

不是“中到大”。对所有内容使用框架。

HTML和CSS

就是这样。学习吧。

Java脚本

尽可能使用库和框架。写得更少,重用更多。

Javascript库(主要用于AJAX的JQuery / ExtJS等)。很高兴知道,即使没有必要。

正确。使用图书馆。

要么。

使用FLEX。

至少具有网页设计的基本知识-布局,颜色,字体等。

复制现有站点。

对网络安全性有很好的了解。

请仔细阅读www.owasp.org。和。使用执行此操作的框架。

对性能/可伸缩性问题有很好的了解。

使用Apache。使用处理此问题的框架。阅读Schlossnagle的可伸缩Internet体系结构。

测试,浏览器兼容性问题等。

构架。图书馆。

这有一个窍门。尽可能使用更多的库和框架。网络已经存在多年了。

站在巨人的肩膀上。请。您无需重新发明所有这些。


的确,您不应以熟悉所有框架和工具的经验丰富的开发人员的身份重新发明所有这些。但是,以新手身份淘汰所有这些工具只会增加进入门槛。他应该使用基本的javascript语言,例如新手,以减少这种障碍。但是,由于OP询问“经验丰富的开发人员”的工作方式,因此我无法为此ping -1。
P.Brian.Mackey 2011年

5

你们如何设法学习并掌握许多事情的最新动态?

提示1。密切注意那里发生的所有事情。听人们在谈论什么,检查事物,阅读文章和博客,为重要的事物添加书签,学习,试验,对一切保持自然的好奇心。

提示2。在这个过程中绝对开心。

秘诀3。正如有人曾经在SO上指出的那样,您列出的内容与许多开发人员的集体知识有关。不要指望完美地了解这一切,一个人无法应付。满足您的需求,并知道在哪里可以找到其余的东西。

作为网络开发人员,必须是所有行业的杰作,还是应该专门从事

最好精通不同领域。Web开发的特殊之处在于,它突然将产品开发的各个方面统一在一个地方。您不可避免地要意识到很多东西,以使事情变得顺利。但是说真的,无处不在真是太高兴了!


2

至少在我看来,您并不总是有团队。因此,成为“万事通”是有帮助的。

但是您不必/不知道所有事情,因此只要善于搜索Google。

您将根据需要建立技能。


是的,一开始似乎很难。
米粉饼干

1

您必须了解一些基础知识-HTML,CSS,语义标记,HTTP的功能以及如何充分利用它们。

然后,无论当前项目是什么,您都可以查看项目所需的内容。可能涉及从现有平台或CMS开始并对其进行自定义,有时是完全定制的工作,但通常不是。有时,与托管位置和托管方式有关的需求将引导您进入正确的平台,而其他时候,您想要的功能将指导您可以使用的托管。您可以根据需要学习所需内容。作为一种工作方式,它有点慢,但最终成为我们大多数人都擅长于我们所做的事情的方法,即通过项目学习了解我们需要知道的内容。

显然,您在经验丰富的Web开发人员的陪同下工作的越多,向他们学习的速度就越快,但是总的来说,随着时间的推移,我们大多数人逐渐掌握了这些技能。


1

我试图对所有当前的技术有足够的了解,以便我知道何时应应用它们。例如,我主要是ASP.NET开发人员,但是我对Ruby on Rails足够了解,以确定它是否更适合特定问题。

我实际使用的技术会尽力了解。如果ASP.NET中有特定功能,我想详细了解它,并知道何时应使用以及何时不应该使用它。JQuery,CSS和我使用的所有其他功能也是如此。

为了保持最新状态,我听播客,订阅RSS feed,仔细研究StackOverflow并参加开发人员活动。


1

从.NET或JEE / JSF开始简单的方法。无需艰苦地完成第一个项目。将这种复杂性保存下来,以备不时之需。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.