开始学习Web应用程序设计的最佳途径

时间:2022-10-11 20:08:45

I'm a long time hobbyist programmer interested in getting into web application development. I have a fair amount of personal experience with various non-web languages, but have never really branched over to web applications.

我是一个长期有兴趣进入Web应用程序开发的业余爱好者程序员。我对各种非网络语言有相当多的个人经验,但从未真正分支到Web应用程序。

I don't usually have any issues learning new languages or technologies, so I'm not worried about which is the "best" language or web stack to work with. Instead, I'd like to know of any recommended resources (books, articles, web sites, maybe even college courses) that discuss web application design: managing and optimizing server interaction, security concerns, scalability, and other topics that fall under design rather than implementation.

我通常不会在学习新语言或技术方面遇到任何问题,因此我并不担心哪种语言或Web堆栈可以使用。相反,我想知道讨论Web应用程序设计的任何推荐资源(书籍,文章,网站甚至大学课程):管理和优化服务器交互,安全性问题,可扩展性以及其他属于设计的主题比实施。

What would you recommend for a Standalone Application Developer wanting to branch out into Web Development?

对于希望扩展到Web开发的独立应用程序开发人员,您会建议什么?

3 个解决方案

#1


10  

There is a wide variety of web application languages you could get into. The ones I have most experience with (and therefore will be talking about here) are PHP, eRuby and Ruby on Rails. All of these have good tutorials available on the internet - I'll link to some of them below.

您可以使用各种各样的Web应用程序语言。我最常遇到的(因此将在这里讨论)是PHP,eRuby和Ruby on Rails。所有这些都有很好的互联网教程 - 我将链接到下面的一些。

Which to choose depends on exactly what you're looking to do. Using PHP and eRuby you have to do most things yourself - whereas Ruby on Rails will do lots of stuff for you (useful, but can also be dangerous if you don't know what you're doing). Ruby on Rails is good for doing database related things - for example the standard CRUD (Create, Read, Update, Delete) application. The standard kind of app Ruby on Rails (often abbreviated to RoR) tutorials teach you is a blog application (Create entries, Read entries, Update entries, Delete entries) or an Address Book Application. It is possible to do many of these sort of applications almost in one line of code - using RoR's 'scaffold' function.

选择哪一项取决于您的具体目标。使用PHP和eRuby你必须自己做大部分事情 - 而Ruby on Rails会为你做很多事情(很有用,但如果你不知道你在做什么也会很危险)。 Ruby on Rails适合做与数据库相关的事情 - 例如标准的CRUD(创建,读取,更新,删除)应用程序。标准类型的应用程序Ruby on Rails(通常缩写为RoR)教程教你是一个博客应用程序(创建条目,读取条目,更新条目,删除条目)或地址簿应用程序。几乎可以在一行代码中完成许多这类应用程序 - 使用RoR的“scaffold”功能。

PHP and eRuby make you do more of the work yourself - but this can be better in some situations. PHP is more well known and used than eRuby, but I like the Ruby language so I tend to like using eRuby. These are both good for doing simple applications (like contact forms on websites) or more complex applications (phpBB - a piece of forum software is written in php).

PHP和eRuby让你自己做更多的工作 - 但在某些情况下这可能会更好。 PHP比eRuby更为人熟知和使用,但我喜欢Ruby语言,所以我倾向于使用eRuby。这些都适合做简单的应用程序(如网站上的联系表单)或更复杂的应用程序(phpBB - 一个论坛软件是用PHP编写的)。

As for which one to choose - I'd have a play with them and see what you think. Try running through the first few bits of a tutorial with each and see how whether you like it or not.

至于选择哪一个 - 我会和他们一起玩,看看你的想法。尝试使用每个教程的前几部分,看看你是否喜欢它。

Here come the links to various tutorials:

这里有各种教程的链接:

PHP

eRuby

  • Beginning eRuby - not great, but shows you how you can embed it in HTML
  • 开始eRuby - 不是很好,但向您展示了如何将其嵌入HTML中

  • Try Ruby in your Browser - helps you learn Ruby which you need to know for eRuby
  • 在浏览器中尝试Ruby - 帮助您学习eRuby需要了解的Ruby

Ruby on Rails

Ruby on Rails

There are a few tutorials to get you started. Some of these take you through installing the necessary software (webserver and anything else needed - eg. php or ruby) and some don't. A good way to get Apache (webserver), MySQL (db) and PHP installed on windows is to use XAMPP. If you're on linux then apache, mysql and php will be in your package repositories and there may be distro specific guides to setting them up.

有一些教程可以帮助您入门。其中一些将带您完成安装必要的软件(网络服务器和其他所需的东西 - 例如.php或ruby),有些则不然。在Windows上安装Apache(webserver),MySQL(db)和PHP的好方法是使用XAMPP。如果你在Linux上,那么apache,mysql和php将在你的软件包存储库中,并且可能有发行版特定指南来设置它们。

#2


2  

A lot of languages have web counterparts. JSP for Java, Rails for Ruby, Django for Python, etc. That might be a lead.

许多语言都有网络对应物。 JSP for Java,Rails for Ruby,Django for Python等。这可能是一个领先者。

If you want to go for the platform with arguably the biggest user base (and with that, the biggest pile of tutorials and examples), go for PHP.

如果你想寻找可以说是最大用户群的平台(以及最大的教程和示例),那就选择PHP吧。

I strongly advise on looking into various frameworks though. For every web-oriented language there's bound to be a lot of resources that take away the trouble of writing all the low-level plumbing code, so you can focus on the stuff that matters. Personally I almost exclusively use .NET, but I've heard about a bunch of nice PHP frameworks, like the Zend platform and CakePHP (for MVC development).

我强烈建议你研究各种框架。对于每一种面向Web的语言,都必然会有大量资源来消除编写所有低级管道代码的麻烦,因此您可以专注于重要的事情。我个人几乎只使用.NET,但我听说过一堆不错的PHP框架,比如Zend平台和CakePHP(用于MVC开发)。

If you intend to also use javascript in your applications to give that nice web 2.0 feel to your applications, please, use a library that hides the messy browser details. You'll go nuts if you try to do all the cross-browser scripts yourself. Some good ones are Prototype and jQuery.

如果您打算在应用程序中使用javascript来为您的应用程序提供良好的Web 2.0感觉,请使用隐藏凌乱的浏览器详细信息的库。如果您尝试自己完成所有跨浏览器脚本,那么您将疯狂。一些好的是Prototype和jQuery。

#3


1  

Eloquent JavaScript and AppJet offer great tutorials that allow you to follow along while you learn.

雄辩的JavaScript和AppJet提供了很棒的教程,让您可以在学习的同时继续学习。

Once you cover all the basics, Ajaxian should answer many of the questions you have about application design, etc. Not only do they post many excellent articles on these topics, but you should explore many of the sites they link to, as these sites usually also provide a wealth of info.

一旦你涵盖了所有的基础知识,Ajaxian应该回答你关于应用程序设计的许多问题等。他们不仅发布了许多关于这些主题的优秀文章,而且你应该探索他们链接到的许多网站,因为这些网站通常还提供丰富的信息。

When it comes to server interactions, know your options. Ajax isn't all there is. Research technologies like Comet and JSON-RPC, as well as looking at various server-side frameworks that provide easy access to JavaScript such as DWR, Jayrock, or any tool that exposes your functions to JavaScript using whatever language you choose to use on the server.

谈到服务器交互,请了解您的选择。 Ajax并不是全部。 Comet和JSON-RPC等研究技术,以及可以轻松访问JavaScript的各种服务器端框架,如DWR,Jayrock,或使用您选择在服务器上使用的任何语言将您的函数公开给JavaScript的任何工具。

#1


10  

There is a wide variety of web application languages you could get into. The ones I have most experience with (and therefore will be talking about here) are PHP, eRuby and Ruby on Rails. All of these have good tutorials available on the internet - I'll link to some of them below.

您可以使用各种各样的Web应用程序语言。我最常遇到的(因此将在这里讨论)是PHP,eRuby和Ruby on Rails。所有这些都有很好的互联网教程 - 我将链接到下面的一些。

Which to choose depends on exactly what you're looking to do. Using PHP and eRuby you have to do most things yourself - whereas Ruby on Rails will do lots of stuff for you (useful, but can also be dangerous if you don't know what you're doing). Ruby on Rails is good for doing database related things - for example the standard CRUD (Create, Read, Update, Delete) application. The standard kind of app Ruby on Rails (often abbreviated to RoR) tutorials teach you is a blog application (Create entries, Read entries, Update entries, Delete entries) or an Address Book Application. It is possible to do many of these sort of applications almost in one line of code - using RoR's 'scaffold' function.

选择哪一项取决于您的具体目标。使用PHP和eRuby你必须自己做大部分事情 - 而Ruby on Rails会为你做很多事情(很有用,但如果你不知道你在做什么也会很危险)。 Ruby on Rails适合做与数据库相关的事情 - 例如标准的CRUD(创建,读取,更新,删除)应用程序。标准类型的应用程序Ruby on Rails(通常缩写为RoR)教程教你是一个博客应用程序(创建条目,读取条目,更新条目,删除条目)或地址簿应用程序。几乎可以在一行代码中完成许多这类应用程序 - 使用RoR的“scaffold”功能。

PHP and eRuby make you do more of the work yourself - but this can be better in some situations. PHP is more well known and used than eRuby, but I like the Ruby language so I tend to like using eRuby. These are both good for doing simple applications (like contact forms on websites) or more complex applications (phpBB - a piece of forum software is written in php).

PHP和eRuby让你自己做更多的工作 - 但在某些情况下这可能会更好。 PHP比eRuby更为人熟知和使用,但我喜欢Ruby语言,所以我倾向于使用eRuby。这些都适合做简单的应用程序(如网站上的联系表单)或更复杂的应用程序(phpBB - 一个论坛软件是用PHP编写的)。

As for which one to choose - I'd have a play with them and see what you think. Try running through the first few bits of a tutorial with each and see how whether you like it or not.

至于选择哪一个 - 我会和他们一起玩,看看你的想法。尝试使用每个教程的前几部分,看看你是否喜欢它。

Here come the links to various tutorials:

这里有各种教程的链接:

PHP

eRuby

  • Beginning eRuby - not great, but shows you how you can embed it in HTML
  • 开始eRuby - 不是很好,但向您展示了如何将其嵌入HTML中

  • Try Ruby in your Browser - helps you learn Ruby which you need to know for eRuby
  • 在浏览器中尝试Ruby - 帮助您学习eRuby需要了解的Ruby

Ruby on Rails

Ruby on Rails

There are a few tutorials to get you started. Some of these take you through installing the necessary software (webserver and anything else needed - eg. php or ruby) and some don't. A good way to get Apache (webserver), MySQL (db) and PHP installed on windows is to use XAMPP. If you're on linux then apache, mysql and php will be in your package repositories and there may be distro specific guides to setting them up.

有一些教程可以帮助您入门。其中一些将带您完成安装必要的软件(网络服务器和其他所需的东西 - 例如.php或ruby),有些则不然。在Windows上安装Apache(webserver),MySQL(db)和PHP的好方法是使用XAMPP。如果你在Linux上,那么apache,mysql和php将在你的软件包存储库中,并且可能有发行版特定指南来设置它们。

#2


2  

A lot of languages have web counterparts. JSP for Java, Rails for Ruby, Django for Python, etc. That might be a lead.

许多语言都有网络对应物。 JSP for Java,Rails for Ruby,Django for Python等。这可能是一个领先者。

If you want to go for the platform with arguably the biggest user base (and with that, the biggest pile of tutorials and examples), go for PHP.

如果你想寻找可以说是最大用户群的平台(以及最大的教程和示例),那就选择PHP吧。

I strongly advise on looking into various frameworks though. For every web-oriented language there's bound to be a lot of resources that take away the trouble of writing all the low-level plumbing code, so you can focus on the stuff that matters. Personally I almost exclusively use .NET, but I've heard about a bunch of nice PHP frameworks, like the Zend platform and CakePHP (for MVC development).

我强烈建议你研究各种框架。对于每一种面向Web的语言,都必然会有大量资源来消除编写所有低级管道代码的麻烦,因此您可以专注于重要的事情。我个人几乎只使用.NET,但我听说过一堆不错的PHP框架,比如Zend平台和CakePHP(用于MVC开发)。

If you intend to also use javascript in your applications to give that nice web 2.0 feel to your applications, please, use a library that hides the messy browser details. You'll go nuts if you try to do all the cross-browser scripts yourself. Some good ones are Prototype and jQuery.

如果您打算在应用程序中使用javascript来为您的应用程序提供良好的Web 2.0感觉,请使用隐藏凌乱的浏览器详细信息的库。如果您尝试自己完成所有跨浏览器脚本,那么您将疯狂。一些好的是Prototype和jQuery。

#3


1  

Eloquent JavaScript and AppJet offer great tutorials that allow you to follow along while you learn.

雄辩的JavaScript和AppJet提供了很棒的教程,让您可以在学习的同时继续学习。

Once you cover all the basics, Ajaxian should answer many of the questions you have about application design, etc. Not only do they post many excellent articles on these topics, but you should explore many of the sites they link to, as these sites usually also provide a wealth of info.

一旦你涵盖了所有的基础知识,Ajaxian应该回答你关于应用程序设计的许多问题等。他们不仅发布了许多关于这些主题的优秀文章,而且你应该探索他们链接到的许多网站,因为这些网站通常还提供丰富的信息。

When it comes to server interactions, know your options. Ajax isn't all there is. Research technologies like Comet and JSON-RPC, as well as looking at various server-side frameworks that provide easy access to JavaScript such as DWR, Jayrock, or any tool that exposes your functions to JavaScript using whatever language you choose to use on the server.

谈到服务器交互,请了解您的选择。 Ajax并不是全部。 Comet和JSON-RPC等研究技术,以及可以轻松访问JavaScript的各种服务器端框架,如DWR,Jayrock,或使用您选择在服务器上使用的任何语言将您的函数公开给JavaScript的任何工具。