首先,一点背景:我在SQL中使用SQLAlchemy编写了一个小应用程序,它大致是一个改进的RSS阅读器:它选择了应该引起用户兴趣的链接,并向他显示。我已经拥有一个非常简单的命令行界面,我设想了各种界面:网络,即时消息,桌面......
现在我想创建一个简单的网页界面,但我对此事绝对没有经验(从5或6年前制作一个简单的php论坛...)。所以我来这里是为了建议从哪里开始:
谢谢!
答案 0 :(得分:6)
我建议您使用某种Web框架,这会让事情变得更容易。既然您已经了解Python,那么您应该查看Django framework.似乎您可以将SQLAlchemy与Django一起使用,请参阅djange-sqlalchemy project.
我建议将JQuery framework/library用于Javascript内容。它极大地简化了编码并处理了大多数Web浏览器的不兼容性。
这个CSS tutorial似乎为您提供了基础知识。
我首先阅读Django tutorial并开始尝试。我不会太担心HTML的东西,你应该能够从Django教程中学到很多东西。使用HTML,Django和SQLAlchemy使您的站点首次运行。只有这样才开始担心Javascript。谁知道,也许你根本不需要Javascript?
请勿尝试让您的网站同时工作并保持良好状态。当您使网站正常工作时,请使用简单且丑陋的HTML页面。当您使网站看起来很好时,只能使用静态HTML页面和CSS文件。最后将这两者结合起来更容易。
答案 1 :(得分:5)
就像其他人一样,我会说“使用我最喜欢的框架,因为这是我使用的......”
我会从Web界面的小目标开始。获取简单的操作并确保您了解其工作原理。
编写一个响应以下网址的应用并返回一些内容。
http://localhost:8000/my_links
一旦你理解了使这一切成为可能所需的一点点机器,就你的请求信息以及你需要生成什么来返回调用者而言,交给你的是什么,应该明白如何填写空白以从现有应用程序获取到Web浏览器抛出的数据。
Learn WSGI除了大多数帮助您构建Web应用程序的库之外,没有其他原因可以在某种程度上利用它。
上面的一个链接,我发现非常有益于理解这一切是如何工作的。 Ian Bickings的文章是“A Do-it Yourself Framework”
一旦你掌握了这些东西,你可能会发现在如此低的水平上处理WSGI可能有点过于繁琐。那时候你可能会想要像WebOb这样的东西 这只是人们提出的将请求/响应周期的低级细节抽象为一些方便对象的几种方式之一。从某种意义上说,包含HTTP协议,而不是试图让那些不想知道HTTP是什么的人有意义。
根据应用程序的复杂程度,您可能会决定处理请求,查看路径并调度到许多函数之一是您不愿意处理的拖累。这是每个人最喜欢的框架开始有益的地方。而且我怀疑你在这一点上已经足够了解更好地评估那里的框架并确定哪个框架适合你的需求和目标。
很多人喜欢django,也许你也会喜欢。其他人更喜欢Turbogears,或者Pylons,也许是bfg,也许是grok,也许是zope,也许是plone。但是这里没有人知道你希望你的应用程序做什么。
答案 2 :(得分:3)
这是一个有趣的常见错误:上述所有答案都提供了关于什么是最好的技术的技术建议......究竟是什么?你应该以相反的方式工作。
我认为,如果您希望您的应用程序成功,您必须确保它能够让用户以最自然的方式充分利用它们。
因此,我建议你首先从故事情节“故事情节”,从用户的角度来看应该如何发生。使用纸和笔,或更复杂的线框工具,如balsamiq mockups。
所以,首先要说明体验应该是什么,这将告诉你哪种技术将是实现这种体验的最佳选择。
哦,别忘了阅读this。
答案 3 :(得分:1)
HTML,CSS和JS Book:DHTML and CSS for the World Wide Web
Javascript Library:JQuery
Web框架:不确定,DJango?
其他建议:学习在带有语法高亮的简单文本编辑器中编写HTML,CSS和JS。复杂的IDE很酷,但对于这些东西,它们会让你慢慢学习。
答案 4 :(得分:1)
Web应用程序并不简单。
HTML和CSS:Head First HTML可能是一个很好的起点。 Head First系列通常是优秀的教程。正如约什所说,手写你的页面。
Javascript:你不需要这个就可以开始了。也许在以后的版本中。当您更好地了解您需要使用Javascript时,您将能够更好地选择适合您需求的库。
Web框架:您应该从Django开始。这与“非常轻量级”的框架相反,但在这种情况下,“轻量级”需要更多的专业知识来制作精美的东西。因此,以“功能丰富且得到良好支持”为目标是一个好主意。
答案 5 :(得分:1)
这是另一个选择,在做出任何决定之前我觉得值得一提。
作为网络框架,我建议web2py,它很容易设置,但功能强大。 Here is a document显示了Django,web2py和其他一些内容之间的差异。它有点旧,但会给你一个很好的概述。
由于你有遗留代码,如果你真的想保留它,那么fair compatibility between the two虽然你应该仔细检查。最简单的是to adapt your code,当然,差异并不大。但这是你的电话: - )
关于Javascript库,可能是jQuery。
答案 6 :(得分:1)
您可以遵循的最佳介绍是歌剧网络标准课程。有些信息太基础了 - 但是对所涉及的所有主题的充分理解将为您提供一个很好的基础。
http://www.opera.com/company/education/curriculum/
或者与专门从事前端开发的人员合作。