我知道这可能是主观的,但我真的需要一个答案,这和我似乎无法找到任何在论坛的休息够它关闭。 我看过一些人说,该框架(任何MVC框架)可能会掩盖的东西太多,而其他人说,它可以促进良好做法。 我认识到,框架一定水平的程序员但对于个人开始了伟大的出来? 如果一个只专注于语言或者了解在一起?
Answer 1:
我认为,网络的发展是远远超过任何人掌握时,他们首先开始进入吧! 阅读并知道它是所有可选的...但要你做什么真正的好必需的。
我建议你花时间先学习您的语言。 我建议学习C#,只是因为它是浩大地更加适销对路,它通常直接在大多数微软产品的支持。 通过学习C# - 在ASP.NET编程,控制台应用程序,服务器,服务,桌面应用程序等,都将唾手可得。 您可以为大多数MS的产品,以及在许多Linux平台的类型。
一旦你有这样下来,那么你可以移动到编程网络作为编程网络具有一定的复杂性,大多数其他环境中不具备的。 概念,如会话,缓存,状态管理,跨站脚本,造型,客户端VS服务器端编程,浏览器的支持,如何HTTP的工作原理,让VS后,一个形式的作品,饼干等都是怎么在的顶部事情列表单独学习更不用说学习ASP.NET基础框架和命名空间。
一旦你有web编程的编程语言下来,然后概念我建议你暂停和学习数据库设计。 不要担心性能,只是还没有...首先尝试学习好的设计。 性能接下来会发生。 一个良好的开端,你是访问(亵渎我知道)。 这是很容易的初学者一起工作。 并将其转换成一个更强大的平台,如SQL Server容易。 学习至少是一些SQL ...但我建议你尽量地多学习你的胃能处理。 我听到有人说,SQL就像是数据库的汇编语言。 减缓的中断应用程序的数量有一件事是小便差数据库设计和较差的查询。 一旦你有这方面的知识 - 东西它扔掉你的脑海里,看一看在一个良好的ORM。 NHybernate可能是最好的时刻,但更复杂的是,基本学习者的需要。 出于这个原因我现在建议得到LINQ to SQL的启动和运行,因为它是超级容易的工作。 然后看实体框架(虽然我仍然认为它吮吸...你应该等到EF 2.0 ... ... ERRRRR现在4.0 .NET 4.0中发布)。 然后NHybernate。
现在是开始理解由Web开发所需要的基础设施的时间。 你学习一些网络编程的东西,你可能会碰到你对这个头。 但是,你要明白DNS,IIS的基本知识,负载均衡,粘路由,循环赛,集群,容错服务器硬件设置,网络农场,缓存养殖场(Memcached的Win32中,速度),SMTP,MSMQ,数据库邮件排队,等等。很多人可能会说,你不需要这个。 这会有一些懂行的网络管理员来帮助你在这里。 不过,他们一般都知道的事情,影响他们......不是你。 你越是知道这里你就可以通过该雇用你的公司更有价值。
现在,你可以进入的最佳实践和设计模式的细节。 了解基本知识,如存储库模式,工厂模式,外观模式,模型视图演示模式,模型视图控制器模式,观察者模式,和其他各种东西。 按照Martin Fowler的和其他人在这里建议。 看看概念,如控制反转,依赖注入,SOLID原则,干燥,FIT,测试驱动设计,和领域驱动设计等,在这里移动到下一步骤之前,学到更多的东西,你可以。
现在你可以想想框架! 通过创建与ASP经典的一个基本的应用程序启动(自带的IIS是免费的!)。 这会给你一个实惠的Web开发环境的味道。 看看ASP.NET Web窗体(简述),看看如何MS试图通过隐藏所有复杂的东西,使事情变得更容易(你现在知道如何在自己的管理从上述材料的阅读!)。 现在,您不再需要ASP.NET Web窗体。 马上移动到ASP.NET MVC。 该MVC framwork给你所有你需要创建一个良好的易于管理的Web应用程序的能力。 如果你建立的东西非常大的纯web开发框架没有可能能够处理你所需要的。 但是MVC是这样UBER自定义方案的方式更具扩展性。
现在你已经通过旅程ASP.NET MVC做它,你可以看看的东西,如微软的企业应用程序块(比如他们使用的MySpace的)。 看看ELMAH错误记录(一个必须具备的)。 看看如何建立一个自定义的SiteMapProvider为你的MVC网站。 如果您需要进入搜索的东西理解Lucene.NET 。
如果你做了这么远......你是准备找出剩下的你自己,因为它来了! 玩得开心。 目前在这个领域与所有上述概念有一定了解的人一个很大的空间。
Answer 2:
你会使用某种框架。 问题是,你想要什么水平,在学习?
你可能不关心,了解异步I / O和mutlithreaded与选择/民调风格的Web服务器。
那么,您所选择的语言是要提供这个顶上一层,语言首选“网络接口” API。 对于Java这是Servlet的最低水平您最好在服务器端Web应用程序代码。
你应该找到这个“低级别”层是在你的语言是什么,并至少学习API。 你应该知道像状态码,饼干,重定向,POST VS GET,URL编码,并可能有什么一些比较重要的头做基本的HTTP。
然后,您将体会到什么这些高层的框架带来的表,并且能够更好地评估什么是抽象的满足您的需求/项目的适当水平。
Answer 3:
Web开发需要一定的组织,因为它依赖这么多的关注点分离。 浏览器,例如,被设计用来显示数据和与用户进行交互。 它的目的不是从数据库中查找数据或进行分析。 因此,Web开发框架,可以帮助提供那些使浏览器的体验是一个实践所需要的服务。
关于采用平台的好处是,它会提供给任何Web应用程序的制作必不可少的核心部件,你不会(也不应该)必须考虑,如用户会员资格,例如。 许多设计决策,以及如何实现这些服务的深入思考的已经做了你,从而使您把重点放在什么你真的想你的应用程序做的。
可用的框架,我觉得实现了MVC(模型 - 视图 - 控制器)模式框架是非常实用的。 他们清楚地组织网络开发不同的功能,同时也让你在提交给浏览器的标记完全控制。
说了这么多,你需要一些基本技能充分认识到网络开发,如HTML,CSS,以及核心编程语言中的实际底层程序,无论您使用的平台或没有。
Answer 4:
我不认为我与安德鲁同意。 我不认为学习C是网络发展的一个必要的前期。 其实,学习的东西如JavaScript,动作脚本或PHP是经常在很大程度上可用的网站和教程广大容易因,并不足以使你接触到几乎每一个编程语言的基础。 变,条件,循环和OOP。 我只是想学习C#引入了很大的学问,是不是Web开发真正相关的如指针和内存管理。
至于无论您首先应该学习的框架? 当然不。 永远不能。 你必须能够站在自己的两只脚先和舒适与HTML / CSS,服务器端脚本(PHP / ASP / Python的/红宝石等等),喜欢它还是讨厌它,但你不得不有Flash和行动脚本有了深入了解。
在你学习这些顺序完全取决于你。 但我的学习计划会是这样的......
开始HTML。 大约需要一个半小时,以获得基本知识(它是由标签与属性,第1课结束),它是很好的把它弄出来的方式第一。
然后开始倾斜CSS。 你会再次得到基本知识,非常快。 但CSS是一个雷区所以预计花费你的余生计算出来。
接下来动作脚本。 大多数人不会同意我的意见,但我承担。 HTML和CSS不是编程语言。 动作脚本。 学习是第一次一个编程语言是困难和乏味。 其优点动作脚本有超过大多数其他语言的,结果是非常直观的。 这是令人愉快的一起工作,你可以坐下来,并采取自己的成绩自豪定期。 这是不可能的服务器端脚本语言或Javascript和有你需要学习来获得服务器端脚本运行起来的东西一大堆。 你不能用PHP例如建造太空侵略者。
然后,你可以用你的服务器端语言开始。 同时,你将不得不找出数据库的东西。 我建议PHP和MySQL,因为它是免费的。
然后....了解你的框架。 或者更好的是,滚你自己。 这就是我一直在做,它的增压我的学习。
如果你进入网络的发展,你必须知道这些积木是如何工作的。 你不必成为所有领域的专家,但你应该尝试成为一个专家在其中的至少一个。 如果你开始学习一个框架,你得到基本面之前,你会在一个棘手的中间地带,你不明白为什么事情不工作,这将激怒你,和任何谁拥有与您合作。
Answer 5:
你应该学习如何使用框架,因为这将是有益的。在V在将来也更容易学习。
MVC将帮助你很多..相信我......我没有使用MVC开发web项目,它是像乱...(以前有没有众所周知的MVC和我从来没有听说过这件事)
Answer 6:
短版:是的,然后一些。
Answer 7:
FWIW:这种更通用的答案可能是使用的人在那里。
什么:框架取出一次又一次用锅炉板代码的单调乏味。 他们隐藏在向导和公约的复杂性和设计问题。 他们还使用特殊的图书馆,设计模式等,在远离明显初学者方式。
因此,使用框架有利于把事情而不究竟是如何知道做 - 就像使用ATM不知道的内幕。 你只是在某些地方和事情“只是工作”添加你的代码位。
HTML> CSS>红宝石> SQL>导轨/ JavaScript框架>库将使一个良好的学习轨道。 休息你学习,你的好奇,挂在论坛或延长学习的需要时一起去。
HOW:该问题开始你走出简单的教科书的例子(即当你设法得到它做一些事情甚至有点不同)分钟。
解码神秘的错误消息时,好像你已经做了一切正确的,但事情还没有工作。 在论坛上搜索错误字符串可能会助阵。 或者只是重新从头开始。
读了文章和书籍,视频,试错,辛勤工作,搜索引擎,计算器/论坛,地方大师,设计文章,利用图书馆,源代码浏览是轻轻地爬学习曲线的好方法和在需求的基础。
工作 - 对,在框架是初学者的头号问题。 理解框架所期待的关键是要避免在这一阶段白头发。 有足够的洞察力,以手工做的框架能自动化可以帮助减少第二次猜测的努力。
WHY:对于更高级的调试/设计,这是很好的知道什么框架引擎盖下ESP做。 当你计划的事情不工作。 最初,你可以采取谁已经完成了艰难的工作地方,大师或论坛高手们的帮助。 后来,当您去更深一些,你可以承担更多的作用。 例如有一个“重建的轨道”的书,看起来的Ruby on Rails的引擎盖下。
注意:有些技巧是面向的Ruby / Rails,但你可以很容易地替换你喜欢的语言/框架来代替。