网站/ Web应用程序架构建议

时间:2008-12-16 16:35:54

标签: .net html css silverlight

让我在这里登台。我是一个非常初级的开发人员,他最近从网络管理员过渡到为他的雇主做了一些WinForms,到了一个全职开发职位,从事一个将转向Silverlight的ASP.NET产品。我有很少的网络开发经验。对HTML和ASP.NET有一些基本的了解。我没有JavaScript经验,对CSS的理解很少。

我的妻子要我为她所属的青少年女子俱乐部的当地分会开发一个网站。该网站有一些目标可以实现。

  1. 为章节创建真实的网络形象。目前,他们在当地城镇网站上只有一页。
  2. 为本章提供PR平台。以下是我们提供的一些社区服务,这里有一些即将举行的活动等......
  3. 帮助推动会员资格。他们只是一个小章节,希望利用该网站作为一种机制来帮助增加会员资格,特别是在年轻女性中。
  4. 作为成员跟踪基本信息的申请(例如成员名单等)
  5. 我在这个项目上有几个目标

    1. 学习Silverlight(至少在基础级别)。
    2. 提高我对HTML的了解。
    3. 提高我对CSS的了解。
    4. 提供合理的搜索(来自Google等人)网站。
    5. 因此,以下是我想到的基本高级架构(不考虑数据库等等)。

      1. 在HTML或ASPX页面中托管整个silverlight应用程序,并在Silverlight中建立整个站点。 - 这个选项充其量只能让我感到震惊,不足以构建可搜索的网站。

      2. 使用母版页构建一个ASP.NET网站,以管理整体外观和在适当的位置感受并主持一些 Silverlight控件(标题中的菜单,相册的丰富控件,管理数据的控件等等)。 - 这让我觉得最容易保持整体外观和感觉仍然保持一定的可搜索性。

      3. 构建一个主要的HTML网站,使用CSS作为管理外观的主要机制。感觉并托管适当的Silverlight控件,我希望进行丰富的交互(如上面的#2)。 - 这让我觉得是最容易搜索的选项,但考虑到我目前的技能,对我来说可能是最困难的。

      4. 我意识到架构还有其他选择,并希望听到这些建议,但请记住,我有一个即将推出的Silverlight项目,并且希望将其部分用作学习该技术的工具,这意味着所有HTML,CSS,JavaScript / JQuery选项都没有真正为我提供。

        我也想听听你们所说的有关良好资源(付费或免费)学习CSS以及我需要根据所做选择学习的任何技术。

        感谢您对长篇文章的耐心。

        ---后来添加了Clarity(我希望)---

        我应该补充一点,我愿意稍后重新写这篇文章以获得更好的性能并了解更多内容,但为了让这个网站在一个月或更短的时间内(在我的业余时间),我我想限制我需要学习的新东西的数量。我很乐意有时间学习JavaScript,MVC,也许是一个DotNetNuke框架,但是从一个非常初级的开发人员甚至更多的初级Web开发人员的角度来看,它太多了。婴儿步骤第一,最好是婴儿步骤,这将帮助我完成我的日常工作,因为我也有很多学习去做。

5 个答案:

答案 0 :(得分:8)

我的建议:

不要从头开始制作网站。使用DotNetNuke或Drupal等内容管理系统来执行此操作。找到将托管这些平台并了解它的提供商。不要重新发明轮子。

答案 1 :(得分:6)

就是这样,HTML / CSS / Javascript是网络的语言。微软确实提供了类似webforms和asp.net AJAX之类的抽象,但是如果你真的想成为一名网络开发人员,你仍然需要知道“幕后”发生了什么,即使你使用webforms直到今天你死了。

对于资源,我一直推荐的是HTML-dog,我发现这些教程写得很好而且简洁。官方ASP.net site有大量内容(包括截屏视频),以帮助您学习.net特定的各种技术

谈到架构,问题是你想走多远?您可以使用管理界面和SQL Server后端创建一个数据驱动的CMS样式站点。如果你想这样做,我建议使用Linq2SQL或奇妙的SubSonic来为你生成数据访问层和实体对象。对于那些小的东西,你不应该需要更多的双层架构,特别是如果你想保持简单,那么这两件事就可以为你生成数据层。

至于silverlight,我实际上是从另一个方面开始学习WPF,所以我无法帮助你。使用像silverlight或flash这样的东西要记住的最重要的事情是,尽管它们很酷,但它们仍然只是网页中的盒子。你可以使用它们产生很好的效果,但很少有人在他们重新定位时不会畏缩他们在“Flash网站”。

答案 2 :(得分:3)

我建议看看ASP.NET MVC(使用它构建stackoverflow)。虽然它目前处于测试阶段,但它非常稳定,您可以在现场网站上使用它。

它比ASP.NET更“接近金属”,在我看来,当你想要学习HTML和CSS时,它们非常棒,因为这些正是你将要工作的。这有点像学习摄影 - 获得手动相机并学习基础知识,以便了解正在发生的事情。

答案 3 :(得分:1)

这个建议适用于任何学习新东西的人:保持简单。在Web开发的情况下,出于多种原因,我肯定会投票反对Silverlight。

你已经提到的第一个,它对谷歌不友好。

第二个问题是它不是一个无处不在的插件:很多人还没有它,很多人在访问某个网站时感到害怕(正确),并且看到这个东西要求他们下载和安装一个插件。当你谈论Mac和Linux用户时,它会变得更糟,很多人甚至不知道什么是Silverlight(只是在你的朋友中尝试)。

另一个方面是,除非你有一些非常好的设计技巧,或者计划雇用一名设计师,否则Silverlight网站很有可能看起来很难看。当您使用旧的HTML时,您有tons of beautiful, free html and css templates out there,但Silverlight,AFAIK的情况并非如此。

最后,如果你真的想学习网页编程,最好是从基础知识,HTML,CSS和Javascript开始。在Javascript的情况下,你可以跳过学习所有细节,并去jQuery,它将是一个伟大的垫脚石。如果您真的想要使用Silverlight和XAML,我建议在启动并运行之后向网站添加一些pzazz,但不要预先添加。

对于从Web开始进行Web开发的人,我强烈推荐ASP.NET MVC,就像我之前的那样:它比webforms更接近真正的 Web开发,它促进(虽然它不保证)更优雅的架构。我知道你的目标#1是学习Silverlight,但我会坚持一下,先了解基础知识。

现在,当谈到您提到的特定青少年女子俱乐部网站时,我会先找到像DNN这样的打包解决方案;然后,一旦每个人都快乐和花花公子(这需要一段时间,一旦它可用,你会得到无数的请求,从字体颜色到新功能再到管理任务)然后你就可以按照自己的节奏开始工作了在自制v2上的和平。 DNN的另一个好处是它允许您编写自己的自定义模块,因此您可以进行一些小型的Web开发(包括Silverlight),而不是一次陷入巨大的项目。

答案 4 :(得分:1)

可能是最好的“什么CMS?”我读过的问题。

考虑到您的IT背景,我怀疑您对Windows的手册/说明感到满意,并且启动和运行CMS可能会相当快。越早获得一些内容就越好,并保留HTML / css以供日后使用。事实上,我会说出去找一个免费/普通模板并掌握CMS的功能。理解HTML / css很好,但了解内容是什么以及CMS如何工作是关键。

一旦你启动并运行了网站,你就可以专注于HTML / css,如果你要在其中任何一部分失败,那么HTML / css是你可以承受的部分关闭。