【问题标题】:I want to build a Google-friendly web app, where should I start?我想构建一个谷歌友好的网络应用程序,我应该从哪里开始?
【发布时间】:2011-02-24 13:00:15
【问题描述】:

我只有非常基本的 HTML/CSS 经验,并且在从消费者的角度测试软件和 Web 应用程序方面有相当多的经验。我很想推出一个可以很好地与 Google 服务配合使用的网络应用程序,类似于您在 Google Apps Marketplace 上找到的一些应用程序,例如 ManyMoon、time to note、Socialwok 等。我是一个巨大的 Google粉丝并希望构建与其他 Google 服务完美集成的东西。

  1. 如果您是一个完全的初学者,并且想要构建一个复杂的应用程序,如上述示例之一(项目管理、CRM 等),您会从哪里开始?
  2. 如果您每天 18 小时、24/7 全天候工作,您能做到多快?

我涉足了各种语言和开发框架,并了解了哪些应用程序使用了哪些语言,但很难弄清楚什么是最有益的。 Ruby on Rails、PHP、Google Web Toolkit、AppEngine。名单还在继续。我希望能够构建和启动我自己的可扩展网络应用程序。

谢谢。

【问题讨论】:

    标签: google-app-engine web-applications scalability


    【解决方案1】:

    一点建议:正确的体验没有捷径可走。我花了 4 年的时间才达到可以构建企业级 Web 应用程序的水平——尽管我从一开始就梦想立即构建一个。从小处着手,逐步发展。

    虽然我在收到这条建议时确实讨厌它……不要立即尝试构建下一个 Facebook 平台。

    现在,回答你的问题:

    技能:

    您必须绝对清楚关于 HTTP 的服务器-客户端交互。如果不了解 HTTP 和浏览器的幕后,您将永远无法完全了解 AJAX。注意:清楚和知道一切是两件不同的事情。清楚 HTTP。

    在一定程度上了解 HTML/CSS 和 JavaScript 标准,以了解它们在不同浏览器中的表现不同。从总体上看,如果您对一些为您处理这些问题的框架感到满意(我推荐 JQuery 和 JQuery UI),那么它们并不是那么重要。

    了解一些关于 Linux、Apache、PHP 的知识。

    怎么做:

    要开发网络应用程序,您可以从 LAMP 堆栈开始 - Linux + Apache + MySQL + PHP。

    首先构建一个小型网络应用程序,它可以做一些琐碎的事情——比如使用 AJAX 和漂亮的 UI 或其他东西来保存和检索用户的东西。我推荐 jQuery 和 jQueryUI 用于 JavaScript 和 UI 框架。

    然后,根据用户的凭据,构建一个仅从某些 Google 服务获取数据的小型 Web 应用程序。我不是 Google 专家,但我猜 Google 为某些服务提供 API(?)。

    然后构建一个应用程序,让两个人可以共享来自 Google 服务或其他类似服务的数据。

    然后添加你自己喜欢的东西。

    就这样继续下去。

    如果您是 .Net 人士,您可以使用.. Windows + IIS + MS SQL Server + ASP.Net3.5/VB/C#。你猜怎么了? StackOverflow 建立在该堆栈之上:)

    了解和使用 MVC 框架也是一个好主意 - ASP.Net MVC 或 PHP 类似的东西。

    次要澄清 - 您所说的对 Google 友好是指对 SEO 友好吗?如果是这样,Google 友好型和网络应用就不能很好地结合在一起。

    建立一个对 Google 友好的网站而不是网络应用是有意义的。

    【讨论】:

    • 为什么建议他从 PHP 或 C# 开始?还有很多其他语言/堆栈可供学习。我个人建议使用 Python 和 App Engine 学习,因为这是他的要求。
    • 两个原因:1. 我看到普通程序员从 C# 和 PHP 开始,一年左右他们做得很好...... 2. 这是我个人的建议,我也没有t 使用 Python,所以我不太了解它。
    • 非常感谢您的回答。有什么好地方可以自己学习这些东西吗?我喜欢按照自己的节奏工作,因为当我做一些有趣的事情时,我通常会通宵达旦。我查看了 Lynda.com、w3schools 和其他一些网站。你们推荐什么可以通过网络获得?此外,就学习内容而言,你抛弃了 HTTP、AJAX、HTML、CSS、Javascript、Linux、Apacha、PHP,甚至没有提到 Rails、Python、C# 之类的东西。这听起来已经势不可挡。大多数网络开发人员都是这样学习的吗?
    • 也澄清你的问题。我的意思是使用与 Google 的 API 配合得很好的语言来构建 Web 应用程序,就像我在原始帖子中提到的那些在 Google Apps Marketplace 中提供的那些。有些应用实际上几乎看起来像 Google 构建的应用。我想做的事情的计划是与现有的 Google 服务(例如 Gmail、联系人、Wave、Docs、地图等)紧密集成。类似于今天一些大型小型企业应用程序与它们集成的方式。
    【解决方案2】:

    我会开始

    • 集思广益的动手项目
    • 确定实现目标所需的技能
    • 在您完成项目时学习它们
    • 设定进度目标并庆祝小胜利

    对于大多数人来说,每天 18 小时 24/7 听起来有点过于乐观。一个合理的目标是形成一个有趣的项目构想,第一周research the needed skills,第二周work through a few tutorials,也许apply your own functionality,第三周构建一些“完成”的东西,然后退后一步,再看看你最初的目标。

    就选择项目而言,我发现记事本会有所帮助。我会在某个地方想,“如果...不是很好吗”,我会去寻找一个提供“如果”的解决方案,然后发现它不存在。就这样吧。

    【讨论】:

    • 感谢罗布的回答。你的子弹对我来说说起来容易做起来难。我想这就是我现在卡住的地方。如果您对技能本身不太了解,怎么知道您需要哪些技能?我知道我想要构建什么,但我不知道如何确定最好的方法来做到这一点。我几乎觉得只是与项目的开发人员合作。我想做的主要事情就是构建应用程序的模型,以便获得一个用于演示目的的工作模型。我完全明白,如果我想扩大规模并做大,无论如何我都需要一个开发团队......
    【解决方案3】:

    我还想看看 Stack Overflow 上投票率最高的问题之一:
    What should a developer know before building a public web site.

    【讨论】:

      猜你喜欢
      • 2018-12-20
      • 2013-04-05
      • 2014-03-02
      • 2011-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多