如果有人想构建一个处理照片的网络应用程序 - 哪种语言最好?

时间:2009-04-24 20:17:14

标签: web-applications image

是否有更好的网络语言用于处理用户提交的图像的网络应用程序?

本质上是一个Web应用程序,它将接受用户提交的图片,并能够创建相册等.Flickr或Facebook Pics的所有功能。

除了语言之外,设计用于处理图像的网络应用程序还有什么不同于处理文本的Web应用程序只是处理从开始时我应该注意的文本吗?

感谢。

更新

有没有办法处理图片大小调整 - 在客户端 - 除了Java小程序 - 这对所有主流浏览器和主要操作系统都是通用的?

更新2:

因此,共识似乎只是尝试各种语言和框架,看看我最喜欢哪个特定项目。我一定会看看RoR& Django对于初学者来说,如果我没有看到任何东西,我喜欢转向PHP&那里有一些框架。感谢所有的建议,感谢所有的答案&评价。

7 个答案:

答案 0 :(得分:6)

几乎所有拥有良好开发者社区的语言都是不错的选择。如果您有任何编程经验,请选择与您已熟悉的语法类似的内容。

如果您没有编程经验,请浏览一些Rails,Django和PHP框架的教程,看看哪种感觉最自然。

答案 1 :(得分:2)

Flickr和Facebook都是用PHP编写的。对于图像大小调整,他们会使用一些其他工具,而不是在Web过程中完成所有工作,但它们也可以从PHP运行。

如上所述,所有大型网站所做的一件事(我在我自己的网站上)都执行了离线调整图像大小的繁重部分。即使是简单的相机也可以生成几兆字节的图像。在处理(甚至减小尺寸)时,内存使用量可以增加到100MB +。因此,执行远离Web服务器的调整大小任务至关重要。传递文件的一种非常流行的方法是使用某种形式的队列来保存,然后将文件名(以及它在磁盘上的位置)输出到专用进程。我自己用于排队的一个这样的工具是http://xph.us/software/beanstalkd/ Facebook和Flickr都有自己的排队。使用Zend_Queue和基于Mysql的系统来保存队列或工作也不难。

答案 2 :(得分:1)

我在Ruby on Rails上运气很好,很容易制作一个网站的快速原型,并且有很多插件可以处理图像上传以及你可能想要处理图像的其他事情。

答案 3 :(得分:0)

我们已经将它用于几个项目:http://albumdy.com/

它拥有所有的铃声和​​口哨,并且易于定制,您想要添加或取出。

答案 4 :(得分:0)

marcamillion,

在大多数情况下,所有语言和相关框架都具有相同的功能(que flamewar ...)。

你会发现他们都能够接受和上传照片,并且他们都有各种方法来操纵,存储和显示这些照片。

如果我是你,我会花一点时间玩各种语言,看看哪个感觉舒服。

做一些基本的教程,弄清楚他们如何处理表单,他们如何与数据库交互。什么可以和不可以轻易做到。

然后从您偏爱的语言/框架的角度重新审视您的问题。

答案 5 :(得分:0)

我建议Ruby(在Rails上)。

有很多插件可以处理图片上传,例如Paperclip(处理上传,缩略图生成)

也就是说,几乎所有语言都有类似的库(Python/djangoPHP/CodeIgniter等等) - 使用您最熟悉或最感兴趣的语言。例如,我可能会使用Python和Google App Engine框架/服务来编写它,因为这是我想要学习的东西..

答案 6 :(得分:0)

简要介绍一下Web开发中突出的开源语言:Python,Ruby或Perl都有很多有用的社区(BTW Perl根本没有完全无法编写,只是那个好的Perl程序员喜欢使用速记。即使在谷歌,也有很多高薪Perl jobs。 PHP很普遍,并且也有一些优秀的框架,但是在网上也有很多差的 PHP代码和建议,所以要注意这一点并找到适合PHP建议的地方。此外,保持演示文稿/样式,数据和逻辑分离(MVC是目前这样做的一种方式)。不要陷入PHP / HTML汤!

大多数语言都有一个用于处理服务器端图像的模块。我们的想法是提供一个客户端(Javascript)界面来在浏览器中直观地操作图像,问一个'你确定吗?'问题,然后处理服务器端并显示结果。

就像每个人都说的那样,尝试几种语言,加入社区团体,当你遇到测试它们的友好程度时,看看你的感受。好处是你可以使用许多所谓的“脚本”语言(即那些不需要编译的语言)来完成其他工作,比如网络/桌面混合应用程序。