【问题标题】:Advice on technology stack: Google App Engine, FLEX, GraniteDS (Tide), Java, Spring技术栈建议:Google App Engine、FLEX、GraniteDS (Tide)、Java、Spring
【发布时间】:2011-06-29 21:58:55
【问题描述】:

朋友们,

您的技术堆栈是拯救您或吊死您的绳索。对于一个单人网络服务初创公司 - 这个列表是什么类型的?

平台:Google App Engine,后端:Google App Engine Datastore,Servicelayer:Java, 前端:Adobe Flex

客户端/服务集成框架:GraniteDS,客户端应用程序框架:Tide(GraniteDS 堆栈的一部分),服务应用程序框架:Spring


好的,让我给你我的背景。

Flextras 是对的!技术的选择主要是因为知识/基础设施......这就是我最终得到上面给出的列表的方式:

首先:FLEX 对我很有吸引力。构建丰富的 UI 很容易,Adobe 正在将其推向桌面、Web 和设备的方向。 Adobe 营销向我们承诺:“与创意套件中的其他工具集成”和“随处部署”。 (当然好得令人难以置信,但它们似乎走在了正确的轨道上。)所以让我们选择 FLEX 作为我们的 UI 框架。

FLEX 通常必须与服务器端技术集成。那么服务层选择什么技术呢?我知道 PHP 是旧的,但是这种语言的动态、无类型的感觉,与 flex 并排工作感觉不合适。

Flex 的大部分灵感来自 Java。用 ActionScript 思考和用 Java 思考都感觉不错。 (我已经探索过 Scala,但还没有工具和最佳实践可供像我这样的人采用这种伟大的新语言)。我选择学习 java,希望它能让模式和知识在服务器端编程和客户端编程之间重用。

Java 的问题在于它的复杂性和部署难度(对于 PHP,您可以轻松地部署在廉价的 webhotel 上)。我的想法是一个测试,我不想要成本和服务器(谁想要?)。我想专注于探索我的想法。所以我正在寻找 Google App Engine,它为启动 Web 应用程序提供免费的 Java 配额。

Google App 引擎的问题在于它是限制性沙盒模型,许多框架没有按原样部署。

我想要一条能够与最少的黑客技术协同工作的技术线。这就是我要求您提供专业知识的地方,帮助我选择合适的框架,以便在 Google App 引擎上将 FLEX 与 Java 集成。

我想从服务器到客户端使用强类型对象,所以我正在寻找 AMF 解决方案。从 BlazeDS 需要 hacking 的论坛上我可以看出,Pimento/Cinnamon 不起作用,Weborb 或 Adob​​e Livecykle 不是免费的。然而,GraniteDS 似乎可以在不打补丁的情况下在 Google 应用商店上运行。

GraniteDS 带有一个名为 Tide 的客户端框架,它与服务器端技术集成。但是 Google App Engine 再次成为一个限制性环境。接缝(哪些接缝与 Tide 集成得最好)接缝是 Google 应用程序引擎上的一项黑客工作。 EJB3 或 CDI 是 Java EE 6 技术,Jetty(支持 Google App Engine 的 servlet 容器)不支持。然而,Spring 接缝似乎是一个可行的候选者。

Google 应用程序引擎没有关系数据库,但接口是 Spring 和 Tide (GraniteDS) 都支持的 JPA 接口后面的新数据存储。

我不确定所有这些漫无边际的事情是否会让我们变得更聪明。

我要问的是:从 FLEX 到 Google App Store,哪条技术线让我最容易上吊?我建议 Tide/GraniteDS/Java/Spring/JPA。但是在我尝试之前我知道什么。

【问题讨论】:

  • 我投票结束;没有描述目的;不可能评估任何技术的好坏。这就像说“我需要建造一些东西;我应该使用什么类型的钉子。”你会想为鸟屋和摩天大楼使用不同的钉子。
  • 请与我裸露。 Rockstar 程序员可以在“正确”的情况下使用“正确”的工具。他们知道如何构建自定义解决方案以使一个“正确”工具与另一个“最佳”工具协同工作——如何从“最佳”数据库到“最佳”客户端框架。但是我们其他人……我们需要为一个开箱即用的堆栈做出妥协。我的问题不在于我需要哪些部分来构建我没有告诉你的东西。问题是:我能用这个工具把这种钉子钉在这种墙上吗?
  • 例如:如果有人问我 FLEX、BlazeDS、Java 和 Google App Engine 是否是一个很好的技术堆栈,我会回答他说 BlazeDS 讲解员可以在不打补丁的情况下在 google app engine 上工作。对于试图确定要投资哪些框架的人来说,这种知识非常有价值。(顺便说一下,喜欢 flex 节目。请继续努力!)
  • 你能用WHAT工具把WHAT种钉子钉在WHAT种墙上吗?答案是响亮的“是”;给足够的时间和预算。但是,我仍然觉得没有一些参数是不可能回答这个问题的。现实是您可以选择任何数据库或应用程序服务器;或 UI 工具来完成任务。堆栈无关紧要的那些“一侧”都有足够的封装。你可以混搭。根据我的经验,我发现很少根据技术优势选择技术,而是出于业务原因(例如内部知识/基础设施)
  • 我在这里支持 Flextras。如果不知道您要完成什么,这个问题是无法回答的。如果您愿意,您可以使用 php,我不确定您所说的不输入是什么意思,因为 AMF 确实会输入内容。如果它足够简单,我会说使用 php,如果您需要更强大的东西,请使用其他东西。

标签: java apache-flex spring google-app-engine graniteds


【解决方案1】:

考虑到问题的模糊性:

我将 Flex/Cairgorme/Blazeds/JBossAS/Oracle Java EE 一起用于任务关键型、高性能、可扩展的应用程序。我强烈推荐这个组合。

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多