新 Web 2.0 网站的框架/语言(2008 年和 2009 年)

发布于 2024-07-07 03:39:35 字数 1115 浏览 8 评论 0 原文

我知道我会得到一千个“取决于你想要做什么”的答案,但说真的,网上还没有关于此的可靠信息。 以下是我的假设 - 我认为现在对于很多人来说它们都是相似的:

  1. 现在是 2008 年 10 月。我想开始为 2009 年 1 月编写应用程序。我愿意使用 beta 代码等,但到了 1 月,我'我想要一个没有“奇怪”问题的网站。 话虽如此,如果一种语言仅仅比另一种语言慢 10%,只要问题是线性的,我就不会关心这些事情。 我主要关心的是开发人员的生产力。
  2. 我将在该应用程序中使用 Linux、Apache、MySQL。
  3. 我希望能够使用稳定的库来执行诸如运行 scp 和 ftp 客户端功能之类的操作(我只选择这两个,因为它们与 Web 无关,但同时代表任何大型应用程序可能使用的非常常见的网络协议)。 OpenID 和 Oauth 等技术也将被使用。
  4. 经验丰富的网络开发人员很容易找到(即我不必寻找来自金融公司等的人员)。
  5. 无论选择是什么,都是常见的,并且会持续一段时间。
  6. 这是一个踢球者。 我希望能够使用类似于 HAML、SASS 的高级表示层工具/语言。 我绝对想使用 JQuery。
  7. 我将创建一个 Facebook 应用程序,并在某些时候做一些事情,比如处理 SMS 消息、iPhone 应用程序等...

此时,语言的选择是 PHP (Cake、Symfony、Zend)、Python (Django)、Ruby (梅布)。 在这一点上,我真的在 Django 和 Merb 之间徘徊,主要是因为其他人似乎都这么走。

请不要将任何非主流技术放在这里。 我知道 Merb 大部分都未经测试,但他们既定的目标是一个坚实的平台,并且它背后有很大的动力,所以我相信它是可行的。 请不要回答 Perl 或 .Net 有多棒。

供将来参考 - 这些选择已经做出:

  • Debian (Lenny) - 用于将 CPU 周期转换为有用的东西。 Trac
  • 0.11 - 用于项目管理 Gliffy - 用于线框图和
  • Google 文档/应用程序 - 用于文档、托管电子邮件等...
  • Amazon ec2/S3 - 用于托管、存储。

干杯, 亚当

I know I'll get a thousand "Depends on what you're trying to do" answers, but seriously, there really is no solid information about this online yet. Here are my assumptions - I think they're similar for alot of people right now:

  1. It is now October 2008. I want to start writing an application for January 2009. I am willing to use beta code and such but by January, I'd like a site that doesn't have 'strange' problems. With that said, if a language is simply 10% slower than another, I don't care about those things as long as the issue is linear. My main concern is developer productivity.
  2. I'll be using Linux, Apache, MySQL for the application.
  3. I want the power to do things like run scp and ftp client functions with stable libraries (I only picked those two because they're not web-related but at the same time represent pretty common network protocols that any larger app might use). Technologies like OpenID and Oauth will be used as well.
  4. Experienced web developers are readily available (i.e. I don't have to find people from financial companies and such).
  5. Whatever the choice is is common and will be around for a while.
  6. Here's a kicker. I'd like to be able to use advanced presentation layer tools/languages similar to HAML, SASS. I definitively want to use JQuery.
  7. I will be creating a Facebook app and at some point doing things like dealing with SMS messages, iPhone apps, etc...

At this point, the choices for language are PHP (Cake,Symfony,Zend), Python (Django), Ruby (Merb). I'm really between Django and Merb at this point mostly because everybody else seems to be going that way.

Please don't put any technologies in here that aren't made for mainstream. I know Merb is untested mostly, but their stated goal is a solid platform and it has alot of momentum behind it so I'm confident that it's workable. Please don't answer with how great Perl is or .Net.

For Future References - these choices were already made:

  • Debian (Lenny) - For converting CPU cycles into something useful. Trac
  • 0.11 - For Project Management Gliffy - For wireframes and such
  • Google Docs/Apps - For documentation, hosted email, etc...
  • Amazon ec2/S3 - For hosting, storage.

Cheers,
Adam

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

顾忌 2024-07-14 03:39:35

Django!

在 Google/Youtube 上查找 DjangoCon 演讲 - 特别是“可重用应用程序”(www.youtube.com/watch?v=A-S0tqpPga4)

我已经使用 Django 一段时间了,之后从 Ruby/Rails 开始。 我发现 Django 社区更容易进入(更好),该语言用优秀示例记录,并且它的模块化性非常棒,特别是如果您想将自定义组件放入其中,而不是被被迫到处使用某些东西。

我确信可能有一些方法可以使 Rails 或类似的产品变得同样灵活,但我强烈建议您仔细阅读 http://www.djangoproject.com/

Eugene 提到它现在是 1.0 - 因此到 2009 年 1 月仍将是一个稳定且向后兼容的代码库。

此外,自动它构建的管理界面生产就绪,并且非常灵活。

Django!

Look up the DjangoCon talks on Google/Youtube - Especially "Reusable Apps" (www.youtube.com/watch?v=A-S0tqpPga4)

I've been using Django for some time, after starting with Ruby/Rails. I found the Django Community easier to get into (nicer), the language documented with excellent examples, and it's modularity is awesome, especially if you're wanting to throw custom components into the mix, and not be forced to use certain things here and there.

I'm sure there are probably ways to be just as flexible with Rails or some such, but I highly encourage you to take a long look at the Django introductions, etc, at http://www.djangoproject.com/

Eugene mentioned it's now at 1.0 - and therefore will remain a stable and backward-compatible codebase well through January 2009.

Also, the automatic admin interfaces it builds are production ready, and extremely flexible.

窗影残 2024-07-14 03:39:35

抱歉,你的问题是错误的。 人们可能会投票反对我,但我还是想说:

我不希望得到客观的答案! 为什么? 很简单:

  • 所有 Ruby 拥护者都会建议使用 Ruby。
  • 所有 Python 拥护者都会告诉我们要使用 Python。
  • 所有 PHP 拥护者都会告诉我们要使用 PHP。
  • 在此插入其他语言。

明白了吗?

我建议您亲自尝试您提到的每种语言。 每次至少几天。 之后您应该有更好的基础来做出最终决定。

也就是说,我会选择 Ruby(因为我是 Ruby 的拥护者)。

Sorry, but your question is wrong. People are probably going to vote me down for this one but I want to say it anyway:

I wouldn't expect to get an objective answer! Why? That's simple:

  • All Ruby advocates will tell to use Ruby.
  • All Python advocates will tell to use Python.
  • All PHP advocates will tell to use PHP.
  • Insert additional languages here.

Got the idea?

I recommend you to try each of the languages you mentioned for yourself. At least a few days each. Afterwards you should have a much better foundation to make your final decision.

That said, I would choose Ruby (because I am a Ruby advocate).

那一片橙海, 2024-07-14 03:39:35

他们所有人都会完成工作。

使用您和您的团队最熟悉的变量

这对应用程序的交付时间和稳定性的影响比任何其他变量都要大得多。

All of them will get the job done.

Use the one that you and your team are most familiar with

This will have a far greater impact on the delivery times and stability of your app than any of the other variables.

玩套路吗 2024-07-14 03:39:35

这取决于。

php - symfony 是一个很棒的框架。 缺点:php、冗长且目录繁重。 propel 使用起来很烦人。 优点:php 无处不在,而且劳动力便宜。 框架做得很好,支持也很好。 很多插件让你的生活更轻松

python - django 也是一个很棒的框架。 缺点:python 程序员可能更难找到,django 更难。 更改数据库架构可能会有些困难,因为没有官方迁移。 并没有像你想象的那样做mvc。 优点:可以满足您所需的一切,并且背后有很棒的 python std 库和社区。

ruby - 我从未使用过 merb,所以我将讨论 Rails。 优点:有一个插件、gem 或配方可以满足您几乎所有您想做的事情。 便于使用。 缺点:这些插件、宝石和配方有时会以神秘的方式无法工作。 猴子修补通常是邪恶的。 社区是..发声的。 固执己见的软件,有时这些意见是错误的(缺少外键)。 Rails 本身就像一座纸牌塔,等待着爆炸并夺走你生命中的几个小时。

综上所述,我是一名自由 php/symfony 和 ruby​​/rails 开发人员。 我曾用语言和框架参与过多个项目。 我的最新项目之所以使用 Rails,完全是因为 ActiveMerchant。 一段时间以来,我一直在寻找开发 django 应用程序的理由。 如果 django 有一个类似 ActiveMerchant 的库,我可能会使用它。

it depends.

php - symfony is a great framework. downsides: php, wordy and directory heavy. propel gets annoying to use. upsides: php is everywhere and labor is cheap. well done framework, and good support. lots of plugins to make your life easier

python - django is also a great framework. downsides: python programmers can be harder to find, django even harder. changing your db schema can be somewhat difficult since there are no official migrations. doesn't quite do mvc like you'd expect. upsides: does everything you need and has the great python std library and community behind it.

ruby - i've never used merb, so I'll address rails. upsides: there is a plugin, gem, or recipe for almost anything you could want to do. easy to use. downsides: those plugins, gems, and recipes sometimes fail to work in mysterious ways. monkey patching is often evil. the community is.. vocal. opinionated software, and sometimes those opinions are wrong (lack of foreign keys). rails itself seems like a tower of cards waiting to explode and take hours of your life away.

with all of that said, I'm a freelance php/symfony and ruby/rails developer. I've worked on several projects in both languages and frameworks. My latest project is in Rails solely because of ActiveMerchant. I've been looking for a reason to develop a django app for a while. If there were an ActiveMerchant like library for django, I probably would have used it.

萌吟 2024-07-14 03:39:35

如果您对 Python 解决方案感到满意,我会选择 Django。 它现在是 1.0 版本,并且正在成熟,拥有庞大的用户群和许多贡献者。 集成 jQuery 没问题,我已经完成了,没有任何问题。

唯一的事情是,据我所知,Ruby 如今在 Web 开发中更受欢迎,因此更容易找到 Ruby 开发人员。 我从最近浏览的招聘广告中得到了这样的印象——Python 或 Django 的招聘广告并不多。 我对Merb了解不多,所以无法给出公正的比较。

我已经完成了足够多的 PHP 工作,不建议用它开始一个新项目。

I would go with Django, if you are comfortable with a Python solution. It's at version 1.0 now, and is maturing nicely, with a large user base and many contributors. Integrating jQuery is no problem, and I've done it without any issues.

The only thing is, as far as I can tell, Ruby is much more popular for web development nowadays, so it's easier to find Ruby developers. I get this impression from browsing recent job advertisements - there aren't that many for Python or Django. I don't know much about Merb, so I can't give a fair comparison.

I've done enough PHP to not recommend starting a new project with it.

李不 2024-07-14 03:39:35

根据你的原因,我会选择 Ruby。 我发现您需要一些管理工具(scp、ftp 客户端),而 Ruby 有它(net/sftp 和 net/ftp 库)。

此外,还有一些很棒的宝石,例如用于监控系统的 God、用于部署的 Vlad the Deployer 等。 Merb 领域有很多替代方案,只需使用您认为更适合您需求的任何选项(Thin、Mongrel、ebb 等)。

Based in your reasons, I would go with Ruby. I see that you want some administration tools (scp, ftp client) and Ruby has it (net/sftp and net/ftp libraries).

Also, there are great gems like God for monitoring your system, Vlad the Deployer for deploying, etc. And a lot of alternatives in Merb's field, just use whatever you find it's better for your needs (Thin, Mongrel, ebb, etc).

Spring初心 2024-07-14 03:39:35

要了解 Django 生态系统当前的状况,您可能需要查看

To get a feeling of where the Django ecosystem is at currently, you might want to check out

笑脸一如从前 2024-07-14 03:39:35

我必须以我同意 Orion Edwards 的观点作为序言,选择你的团队最熟悉的一个。

然而,我还必须注意到您的列表中奇怪地缺少 ASP.NET 语言。 不是为了激怒伟大的狂热者军队,但是牛肉在哪里? .NET 是一个稳定、快速的开发平台,劳动力资源与日俱增。 VB.NET 和 C# 是可转移的技能集,当您组建一个开发团队来处理不同的任务时,这可能意义重大。 与其他语言一样,.NET 还允许您将表示层与后端代码分开,而且还允许您将该后端代码公开为 Web 服务,用于 iPhone 和 Facebook 应用程序等。

对每一个建议持保留态度,并选择最适合应用程序的建议。 进行研究并为功能而不是狂热分子进行设计。

免责声明:曾经是 PHP、ColdFusion 和 Perl 开发人员。 Flex 狂热者和 Adob​​e 爱好者。 现在正在编写企业 .NET 应用程序。 ;)

不要忘记 Mono,它可以让您在 *nix 下运行 .NET。 我并不是说它会是完美的,只是唱反调。

I have to preface this with my agreeing with Orion Edwards, choose the one your team is most familiar with.

However, I also have to note the curious lack of ASP.NET languages in your list. Not to provoke the great zealot army, but where's the beef? .NET is a stable, rapid development platform and the labor pool is growing daily. VB.NET and C# are transportable skill sets, and that can mean a lot when you're building a team of developers to work on a diverse set of tasks. .NET also allows you to separate your presentation layer from your backend code, like other languages, but also allows you to expose that backend code as web service for things like your iPhone and Facebook applications.

Take every suggestion with a grain of salt, and pick what suits the application best. Do your research, and design for function and not the zealots.

Disclaimer: Once a PHP, ColdFusion and Perl developer. Flex zealot, and Adobe lover. Now writing enterprise .NET applications. ;)

Don't forget Mono, which will let you run .NET under *nix. Not that I'm saying it will be perfect, just playing devil's advocate.

最美不过初阳 2024-07-14 03:39:35

不要陷入服务器端页面布局的思维模式。 考虑像 SproutCore、GWT 或 ExtJS 这样的技术,它们将布局代码完全放在客户端上,使服务器只负责数据编组和处理(并且很容易替换)。

而且您真的非常需要知道您想要哪个服务器平台。 不要因为它是这个月的口味而选择一种,而是因为你觉得舒服而选择一种。 味道不会长久,但构建牢固的代码库会。

Don't get stuck in the mindset of server-side page layout. Consider technologies like SproutCore, GWT or ExtJS which put the layouting code fully on the client, making the server responsible only for data marshalling and processing (and easily replaced).

And you really, really need to know which server platform you want. Don't pick one because it's the flavor of the month, pick one because you're comfortable with it. Flavors don't last, a solidly built codebase will.

七禾 2024-07-14 03:39:35

在 Django 中构建应用程序后,我可以证明它的实用性。 如果所有框架都那么优雅就好了(是的,Spring,我正在看着你)。

然而,就将赌注押在 Django 上而言,您需要考虑的一件事是 Python 3 将很快发布。 Python 3 不向后兼容,并且存在一种风险,即它会分叉该语言,并最终减缓所有 Python 项目在处理后果时的势头。 公平地说,Ruby 2.0 也即将推出,但我认为它不会那么具有破坏性。

Having built apps in Django, I can attest to its utility. If only all frameworks were as elegant (yes Spring, I'm looking at you).

However in terms of betting the farm on Django, one thing you need to factor in is that Python 3 will be released shortly. Python 3 is not backwards compatible and there's a risk that it will fork the language and end up slowing momentum for all Python projects while they deal with the fallout. To be fair, Ruby 2.0 is due soon too, but I don't think it will be as disruptive.

乖乖 2024-07-14 03:39:35

我在过去十年中对各种新技术的经验使我建议您将平台的稳定性作为一个重要的标准。 使用最新、最好的框架进行开发固然很好,但是当您发现它向前推进了一个点版本并且突然您完成所有操作的方式被弃用时,这可能会导致额外不必要的工作。 这是我在版本 1 之前使用 Rails 的特别经历。仅出于这个原因,当您开始使用任何未至少达到 1.0 版本的平台时,我就会避免使用该平台。

Ruby 非常适合使用,并且可以提高开发人员的工作效率,但如果 Django 是更稳定的平台,我肯定会更喜欢它。

My experience with various new technologies over the last ten years leads me to recommend that you make stability of the platform a serious criterion. It's all well and good developing with the latest and greatest framework, but when you find it's moved forward a point version and suddenly the way you have done everything is deprecated, that can turn out to result in extra unnecessary work. This was particularly my experience working with rails a little ahead of version 1. For that reason alone I would avoid any platform that wasn't at least at 1.0 when you start work on it.

Ruby is great to work with and will keep your developer productivity high, but if Django is the more stable platform I would favour that for sure.

瞎闹 2024-07-14 03:39:35

对服务器设置不要有偏见是值得的。 任何在源代码中值得重视的现代 Web 框架都具有某种 SQL 抽象层。 PostgreSQL 获得了更好的性能,这是来自一位前 MySQL 拥护者的说法。

无论是配置方面还是服务器资源方面,Apache 都是一个庞然大物。 为什么不选择轻量级的东西,比如 nginxlighthttpd?

(郑重声明,我是 Django 的大用户,但正如公认的答案所说,请遵循您的团队所知道的任何内容。快速周转不是学习新框架的时候。如果您从头开始雇用一个团队,和姜戈一起去。)

It pays not to be biased about your server setup. Any modern web framework worth it's weight in source code has a SQL abstraction layer of some sort. PostgreSQL gets much better performance, and this is coming from a former MySQL partisan.

Apache is a beast, both to configure and on your server's resources. Why not go with something light-weight, like nginx or lighttpd?

(For the record, I'm a big Django user, but as the accepted answer said, go with whatever your team knows. Quick turn-arounds are not the time to be learning new frameworks. If you're hiring a team from scratch, go with Django.)

喜爱皱眉﹌ 2024-07-14 03:39:35

更新:我最终使用并爱上了 Django。 我已经完全不再使用 PHP - 对此感到抱歉。 未来试图创建新的 Web 2.0 网站的读者(假设他们有编程背景),应该充分考虑以下设置:

用于托管的 Amazon ec2(80 美元/月 - 不便宜,但如果你能负担得起的话,还是值得的)
Django/Python(Python 是地球上最强大的脚本语言 - 而 Django 只是让它在 Web 上工作)

开发应该使用 SQLlite 和 Django 附带的开发服务器来完成。 在进行几周的测试之前,不要浪费时间使用 Nginx、Apache、MySQL。

哦,我现在在 Mac 上开发,这对于本地 Django 开发非常有用。

最后,PinaxDjango 开发。

Update: I ended up using, and loving, Django. I'm totally done with PHP - sorry about that. Future readers trying to create a new web 2.0 site (assuming they have a programming background), should greatly consider this setup:

Amazon ec2 for hosting ($80/month - not cheap but worth it if you can afford it)
Django/Python (Python is the most powerful scripting language on the planet - and Django just makes it work on the web)

Development should be done with SQLlite and the development server that comes with Django. Don't waste time with Nginx, Apache, MySQL until you're withing a few weeks of a beta.

Oh, and I now develop on a Mac, which works great for local Django development.

Finally, Pinax is a great start for Django development.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文