我一开始就用php学习了网络编程。它有一些我觉得非常有用的功能,但整体语言不是我喜欢的东西,只是个人喜好。我想知道使用不同的底层编程语言(Python?Ruby?)可以使用哪些替代方法来提供类似的功能。
我在寻找:
优选地:
有人有任何建议吗?
我尝试做的一件事是通过CGI嵌入Ruby(erb)。这看起来非常适合纸张。不幸的是,我无法让它工作,因为我正在遵循一些不同的指南,结合它们的结果没有成功。无论如何,似乎这不允许我设置任意标题(更重要的是,使用会话和cookie)。
注意:我目前不是在寻找完整的Web框架。在其他HTML页面中只有相对少量的动态内容。
谢谢!
答案 0 :(得分:6)
你已经找到了PHP如此受欢迎的重要原因 - 它在服务器可嵌入的软件包中拥有所有这些部分。其易于部署的解决方案并不多; PHP是专门为你想要的而编写的,这既是它的优点也是缺点。这就是为什么它是如此弱的通用语言,以及为什么每个人和他们的狗都知道它。它无处不在,进入的障碍几乎为零。
PHP是一种语言加模板加上一个Web框架,全部融入一个软件包。为了得到一个等价物,你将需要一个Web框架,即使它是一个小框架。像Sinatra之类的东西是在Ruby中做类似的超级轻量级方法,虽然它需要一个单独的服务器进程。
你可以用cgi.pm看看像Perl这样的东西,但如果你想要比PHP更清洁的东西,它可能是一个错误的方向。
我不太了解Python包以提供建议,但Twisted使得将Python程序绑定到Web界面变得容易。但这最终会在自己的服务器进程中运行。
如果你想使用PHP以外的东西,你需要做比标准PHP部署更多的工作,但这通常是人们认为是提高生产率的合理权衡的选择。
答案 1 :(得分:4)
Python Flask是一个很好的Web框架:它符合您的要求,易于学习,并且可以优雅地扩展。阅读教程,看看!
答案 2 :(得分:3)
我有三个建议。
第一个是Ruby on Rails - 一旦你进入它就很有趣..我建议你通过Rails for Zombies来了解你是否喜欢它。
在Heroku上免费获取并运行起来非常容易,因此您无需花费任何资金在网上获取内容......
我的第二个建议是我刚刚尝试称为Node.js的建议。我建议观看此视频,了解它的内容:
http://www.youtube.com/watch?v=jo_B4LTHi3I
如果您使用的是Javascript,我想您会马上得到它。您还可以在www.cloud9ide.com上构建一个开源的Node.js项目,这个项目非常漂亮。
第三个,如果你正在学习Java,那就是“Play”。一个很酷的视频是:
我没有用过这么多,但这是我要做的“待办事项”清单。总的来说,我建议只是将你的脚趾浸入水中以获得一系列不同的框架,并了解它们的工作方式,然后你会自然地追求对你最有意义的东西。祝你好运!
答案 3 :(得分:3)
我会说你的要求
其他HTML页面中只有相对少量的动态内容。
然后,PHP很难在快速上升和最小的学习开销的情况下被击败。它避免了您原本必须处理的所有CGI问题,实际上它是自己的模板语言。这就是为什么这么多人开始使用它。一旦你超越了将一点编程逻辑混合到HTML页面,开发更灵活,可维护和可测试的应用程序的目标,那么Rails,Django等框架将值得您花时间学习。
答案 4 :(得分:0)
使用Scheme as a web development language符合您的标准,但需要注意:HTML中嵌入的内联代码不是嵌入在HTML的Lisp-ish表示中的内联代码,称为s表达式。 (HTML之间存在一对一的对应关系,与s-exp等价;它们可以通过一个函数调用进行交互。)因此,页面的静态部分和代码共享相同的语法 - 我非常喜欢Scheme
> (sxml->xml `(div (p "It's been: " (i ,(current-time)) " seconds")))
<div>
<p>
It's been: <i>1339772791</i> seconds
</p>
</div>