【问题标题】:Which web solution should I use for my project?我应该为我的项目使用哪种 Web 解决方案?
【发布时间】:2010-05-03 11:38:36
【问题描述】:

我将和一个朋友创建一个相当大的(无论如何从我的角度来看)网络项目。我们将创建一个包含道路和其他道路相关信息的站点。

我们的计算是我们的数据库中将有大约 10 万个项目。每个项目将包含一些信息,如位置、名称等(每个大约 30 个)。我们预计每月有几十万独立访问者。

这 10 万个项目及其位置(可搜索)将是页面的主要部分,但我们还将提供一些文章、cmets、新闻以及稍后的更多社交功能(帐户、论坛、图片上传等)。 )。

我们打算使用 Google AppEngine 来开发我们的项目,因为它确实可扩展且免费(至少在一段时间内)。但我实际上开始怀疑 AppEngine 是否适合我们。它似乎适用于 webbapps,而不是像我们这样的网站。

你们会推荐我们使用哪种系统(语言/框架等)?如果我们从以前开始就知道这种语言并不重要(我们喜欢学习新东西),但如果它是面向未来的东西会很好。

【问题讨论】:

  • 究竟是什么让您认为 AppEngine “适用于 webbapps 而不是像我们这样的网站”。我的经验是,AppEngine 足够灵活且功能强大,对于您可能放在网络上的大多数内容来说,它都是一个不错的选择。如果您有一些具体的疑虑或担忧,许多 AppEngine 专家可能会告诉您,您无需担心或确认您的恐惧。
  • 真的没有什么特别的原因,但是我们对 AppEngine 的了解越多,我们就越觉得这适用于像 Gmail 这样的 web 应用程序,整个应用程序是一个屏幕,内容动态变化。我们想要映射到 URL 的“静态”页面。 GAE 也感觉非常复杂。但是,如果我们能在 AppEngine 中做到这一点,那就太好了..
  • 说真的,AppEngine 并没有将它与 AJAXy、网络应用程序、类似 Gmail 风格的网站联系起来。与大多数其他 Web 应用程序框架一样,它提供了非常通用且非特定的功能。举个例子,看看我的博客——blog.adamcrossland.net——看看一个基于 App Engine 构建的常规旧网站。
  • 我认为您可能将 GAE 与 GWT 混淆了

标签: google-app-engine frameworks


【解决方案1】:

我认为 GAE 可以胜任这项工作。 Google 声称 Google App Engine 能够免费处理 500 万访问者,只有当您超过他们的免费配额时,您才需要开始付费。

它也很容易上手。如果您没有管理网站的经验并选择常规托管服务,您将不得不担心several things that you don't even imagine now

我唯一关心的是您必须执行的数据类型和查询,因为它没有关系数据库。无论如何,GAE 有一个开源项目,名为GeoModel,它使 GAE 能够进行复杂的地理空间查询,例如邻近提取。看看他们的tutorialdemo app

关于您认为 GAE 仅适用于小型 Web 应用程序的印象,有几个 CMS that run on it

祝你好运!

【讨论】:

  • 如果我们能使用 GAE 那就太好了。我会看看那些链接。谢谢!
【解决方案2】:

如果您担心可扩展性,并且您不想依赖昂贵的或商业工具,我建议您看看这个技术堆栈:

  1. Erlang - 一种为并发和分发而设计的编程语言。
  2. Nitrogen - 一个 Erlang Web 框架,有很多很酷的东西,比如透明的 AJAX。
  3. NoSQL 可扩展数据库,例如CouchDBRiak - 省去了 SQL 代码的麻烦,并且比普通 MySQL 更具可扩展性。两者都有直接的原生 Erlang API。

说实话,我不知道这套工具是不是你的一杯茶;这些都不是主流解决方案。我只是向所有询问大小敏感的 Web 应用程序的人推荐这些。

【讨论】:

  • 是的,Erlang 对我们来说感觉有点太硬核了。不过谢谢你的建议!
【解决方案3】:

所有严肃的 Web 框架都会为您提供所需的内容。实际问题(例如可扩展性)可能会根据您使用的内容以不同的方式解决,但如果您选择知名的,您将不会受到限制。数据库系统的选择可能更重要(sql vs nosql),即使这两个都可以。

一切都是为了

  1. 知道如何使用
  2. 使用愉快

您选择的工具。

在任何一种情况下,删除一些建议:

  • Rails(红宝石)
  • Django (Python)
  • 氮(二郎)
  • ASP.NET MVC (C#)

请注意,如果您真的想从底层学习所有内容,那么您可以使用其中任何一个(或其他大量的其中一个)。但是,如果您想表现最好,请选择支持您熟悉的语言或使用您有经验的技术/工具等的语言。请三思而后行这很有趣,我们学到了很多反对我们希望提高工作效率并做得非常好

【讨论】:

  • 感谢您的建议,我们怀疑会建议使用 Ruby、Python 和 asp。但是你有什么理由不提 PHP 吗?
  • 仅出于我自己的宗教原因 :) 如果您了解 PHP,那么它比其他的具有明显的优势。自己对工具的熟悉程度非常重要。我的意思是,有些人可以使用滑尺并在速度上击败计算器。但这并不意味着我们都应该停止使用计算器。 如果您不了解 PHP,我什至不会将其作为建议提及。语言通常相互补充,对不同的事物有用。 PHP 打破了这种模式。我只是看不出什么时候 PHP 会是最好的选择。如果可以的话,学点别的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 2013-01-06
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
相关资源
最近更新 更多