【问题标题】:Need help determining how to approach building my project需要帮助确定如何构建我的项目
【发布时间】:2011-08-26 21:06:56
【问题描述】:

我想创建类似于家谱在线应用程序(如 geni.com)的东西。我不确定我应该使用什么语言来构建它。我的 IT 强项不在于编程,这个项目需要我坐下来学习一些语言。我现在的问题是我不知道我应该使用什么语言。

因此,考虑到家谱在线应用程序的想法,这里有一些规范。 - 我不想使用闪光灯。 - 应用程序需要是可缩放和可滚动的(有点像谷歌地图) - 应用程序需要能够在不重新加载页面的情况下添加内容。也许有一个小“+”号,当我点击它时,我可以添加标签/标题/描述/图片 - 该应用程序需要能够保存您的工作以供该用户稍后检索。 - 用户可以在其中创建的布局是一种基于用户可以添加新气泡的小部件,然后他们可以在该气泡中添加文本或内容。

我开始使用 HTML5 画布和 Javascript 进行编程,但我一直坚持创建不是直接来自 Javascript 的数据库连接(因为这对我来说似乎很不安全)。但我不仅对如何安全地与数据库交互感到困惑(我什至没有选择数据库),而且我担心我将无法仅使用 javascript 和可能需要 ajax 之类的东西,但我不熟悉现在每种语言的功能。

【问题讨论】:

    标签: javascript database web-applications html


    【解决方案1】:

    如果您是从零开始,那么最好使用的语言是 最熟悉的语言。或者,如果您不打算自己开发整个事情并且您已经有其他一些相关方参与,那么最好使用的语言是你们大多数人都熟悉的语言。如果只有您,而您还没有任何收藏夹,那么环顾四周并与一些玩玩 - 这是确定您是否真的喜欢/对它们有效/有效的唯一方法。

    话虽如此,这些天更有可能的一些候选人是:

    • JavaScript:这种语言只是将 D 放入 DHTML 的一种方式的日子已经一去不复返了。如今,JavaScript 是一种可行的客户端服务器端语言。 (这里的其他人已经推荐了Node.js——我也推荐NPM (node package manager)来处理你的依赖)。通过一些计划,您可以在客户端和服务器端重用大部分应用程序代码。不利的一面是,大多数服务器端技术非常是新的(最多只有几年的历史),因此您可能会发现自己实现了在应用程序中使用的工具,而不是应用程序本身。再次考虑到它的年龄,找到支持它的服务器也将更加困难。
    • Perl:在这个时代的另一端,我们发现 Perl - 第一种用于制作 Web 应用程序的常用语言,它仍然为各种有用的网站提供支持那里(包括诸如 Pinboard 之类的新工具。)CPAN 上流行的工具已在 fire 下进行了审查。好消息是它不会很快消失。坏消息是,您可能需要更加努力地搜索才能找到支持 [昨天刚刚发布的最新、最糟糕的东西]的模块。
    • PHP: 现代 Web 的 BASIC(或 Perl,取决于你问谁),PHP 的设计初衷是为了做一件事 - 使构建动态网页更容易。它的流行意味着有相当多的服务器支持(PHP + Apache + MySQL 是 Web 服务器的 T 型福特——每个人都买得起)和大量可供阅读的预构建代码。然而,和 BASIC 一样,PHP 的长处也是它最大的弱点。几乎任何人都可以在 PHP 中编写 工作 的东西......它工作的好坏取决于谁写的。 caveat emptor 适用于在网络上找到的所有代码 sn-ps 绝对适用于用 PHP 编写的代码的 sn-ps。
    • Python: made programing fun again 的语言(至少对于那些可以看到重要空白和缺少块/匿名函数并忽略 issues with non-ASCII out of the box 的人来说。)它是通用的、flexiblemulti-paradigm 语言具有相当丰富的标准库(但没有 .NET 或 Java 令人难以置信的膨胀)。此外,其中已经完成了大量的工作,因此很有可能您需要的东西已经被其他人开发了。另外,it can make you fly
    • Ruby(有或没有 Rails): 让网络变得有趣的语言,如果您愿意,可以与 the framework that made MVC cool 结合使用。那里有很多的文档,还有一个很棒的社区,有许多预构建的工具(称为gems)可供选择 - 免费和廉价的服务器不像 PHP 对应物那样普遍,但它们的质量可能更高(随机选择时)。

    话虽如此,它们都是非常适合 Web 开发的语言。重要的不是我们认为你应该使用什么......而是你最有可能有效使用什么。上面列出的所有语言都是主流(或将在未来两年内),易于学习和易于编写的语言。无论您选择从什么开始,都不会出错。


    或者,如果你想要一些更难的东西,或者不太主流的东西......我在工作中使用.NET 应用程序,并在业余时间使用基于Lisp (SBCL) 的服务。我也听说过有关 Lua 和 Java 的好消息...至少有 two C++ web frameworks 在那里...而且我敢肯定有人在构建网络时很开心带有 FORTRAN 后端的 COBOL 服务。 ;-)

    【讨论】:

      【解决方案2】:

      正如有人已经指出的那样,您还需要使用服务器端语言。 (Ruby、Python、PHP)您完全正确,您不应该在浏览器中尝试通过 javascript 进行数据库连接。

      您需要构建一个服务器端应用程序来处理应用程序的基本操作。

      我强烈建议您阅读 MVC 设计模式,并可能将 Ruby on Rails 作为您的后端框架,它与 ajax 类似的功能非常好用,而且我相信它的学习曲线比一些更短其他框架/语言。

      【讨论】:

        【解决方案3】:

        您需要使用PHPRuby on Rails 等语言的服务器端脚本来与数据库交互。

        【讨论】:

        • Ruby on Rails 不是一种语言。鲁比是。 Ruby on Rails 是一个 Ruby 库。
        【解决方案4】:

        如果您已经熟悉 HTML5 和 JavaScript,我可以推荐使用 Node.JS 吗?它是您在浏览器开发中所了解的最接近的东西。它还可以与更接近 HTML5 建议的 IndexedDB 的数据库系统挂钩。

        考虑到这一点...

        如果您对编程和编程语言缺乏经验,那么您描述的应用程序将涉及相当长的学习曲线。虽然 Flash 和 Flex 有非常好的界面来通过点击和拖动来构建应用程序,但 HTML5 的工具还不够成熟。

        这并不是说 HTML5 不可能。只是在人们创建工具以使应用程序构建过程更接近 Adob​​e 提供的过程之前,还有一些时间需要等待。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-05-18
          • 1970-01-01
          • 2011-05-14
          • 2016-11-27
          相关资源
          最近更新 更多