我是一名有各种语言和平台工作经验的程序员,但我缺乏任何Web开发经验(除了PHP生成的一些非常基本的HTML)。
我正在寻找关于Linux下的Web编程基础知识的教程。我对apache配置和服务器维护不太感兴趣,我很清楚,但是使用现代技术实际构建了一个网站。我熟悉python,但我会很好地处理任何脚本语言。
你有什么建议吗?你能告诉W3Schhools tutorials吗?
一堆谢谢,
乌迪
答案 0 :(得分:5)
利用您的Python知识,您可能会发现像Django这样的教程很有用。它足够现代,可以在Google App Engine中使用。
还可以尝试另一个Python Web框架TurboGears tutorial。这将为您提供(现代)Web编程的不同角度。
在Wikipedia上找到介绍和许多指向其他框架的内容。
答案 1 :(得分:5)
这是一个相当广泛的问题。你必须要知道有一个很多的潜在答案,这里已经给出了正确的答案。而且你必须意识到,无论你选择什么教程,它都是你做出的平台决定。这是因为网络(应用程序)开发是一个复杂的事情,可以在各个层面(特别是在MS世界之外)解决。
我对你提到的 W3Schools 没有足够的了解,但乍一看,它们看起来会教你许多基本的前端技术:HTML ,XHTML,Javascript,CSS等。这不错,会为你提供坚实的基础。但是,Web开发通常不会在这个级别上完成,因为对于大型应用程序而言,它太繁琐且不灵活。而且你会完全错过后端/数据库技术。
然后有平台(我猜这是大多数)有一个模板方法。您可以在HTML文件中混合使用HTML和编程代码(Python,Perl,PHP,...),然后由引擎处理该页面和业务逻辑,以生成用户界面和事务的最终HTML数据库的代码。 Django和TurboGears是这方面的着名Python代表,Ruby on Rails可能是目前最大的名字。但是还有很多其他的(Scala/Lift怎么样?),所以值得花点时间看看你最喜欢哪一个。他们通常在数据库处理方面做得很好。在UI方面,您仍然可以更改页面。
在这种情况下,有些平台试图从嵌入代码的HTML转向纯粹的 programmatical 方法。您只需编写代码并使用给定平台的特定API。以某种方式“编译”您的项目将生成您必须在运行时环境中部署的所有必要内容。我认为Google's GWT和Eclipse RAP就是这样的方法,如果你认为,在Java中有梦想和呼吸,这可能适合你。
当您需要类似桌面的用户界面时,浏览器中的页面更改(Web体验中最具破坏性的部分)不再足够好时,另一种方法很有趣。解决这个问题的方法是创建“胖Web客户端”,内置大量交互逻辑,通常是在Javascript中,并让它们与服务器后端交互,仅用于使用Ajax,REST进行基本数据传输或RPC协议。客户技术的候选人是例如qooxdoo或Dojo。在服务器端,您仍然可以使用您熟悉的任何技术(从RoR到Servlet等)。如果我有我的选择,我会选择qooxdoo作为前端,Erlang/CouchDb选择后端。
您已经特别询问了教程,我没有提到很多。我想要做的就是你选择的任何东西,你很可能会在这项技术上花费相当多的时间和精力,因为它们都很深,并且会坚持一段时间。在评估期间,您还将检查给定平台的教学材料(不要忘记在线视频 - 这些日子它们很大),但这不可避免地具体。 AFAICS,没有对网络编程的“一般性介绍”。
答案 2 :(得分:0)
Ruby on Rails对于快速发展非常有趣。它很干净,很整洁,它可以让你专注于数据库和前端等重要的事情。
有大量的RoR教程。有大约两百Railscast个关于主题的教程视频。他们也非常深入。
还有很多地方可以在您当前的应用上寻求帮助。 APIDock非常适合查找方法用法以及Rails的不同部分如何工作。您也可以考虑使用freenode IRC并进入Ruby聊天室:#ruby。
希望这有用!
答案 3 :(得分:0)
在你的位置,我不会深入研究CSS,除非你真的想要设计页面(找别人去做。甚至是HTML模板。严肃地说,你会学会非常讨厌,特别是如果你试图让它在IE7或更低版本中运行)。而是尝试生成rockolid语义结构良好的HTML(有利于搜索引擎优化和可访问性(请查看progressive enhancement))并学习JavaScript。看看一些好的框架... jQuery,Ext ......无论如何......不要在这里重新发明轮子......
除此之外,haxe可能对您有用......许多有用的图书馆 haxelib ......
好吧,希望有帮助...;)格尔茨
back2dos
答案 4 :(得分:0)
有一些资源来学习HTML,javascript和CSS,这就是你要求的。 w3schools是一家来自挪威的小公司,并不总是非常好的文章,但可以作为快速参考。
我会推荐以下两个
还有HTTP,大多数人都没有真的 grok。理解HTTP的一种好方法是将REST作为一种架构风格。 Joe Gregorio创建了一系列精彩的文章来逐步实现Web服务。
希望它有所帮助。
答案 5 :(得分:0)
如果您认为测试很重要,您可能会对遵循TDD(测试驱动开发)方法感兴趣 - 因此,学习如何测试Python Web应用程序与学习如何编写Python Web应用程序一样重要......
我编写了一个从零开始的教程,旨在同时教授Python Web开发和TDD。它涵盖了使用Selenium进行基于浏览器的测试以及单元测试。
http://www.tdd-django-tutorial.com/
欢迎提出意见和建议!