技术栈建议:Google App Engine、FLEX、GraniteDS (Tide)、Java、Spring
朋友们,
你的技术栈是拯救你或吊死你的绳索。对于一个单人网络服务初创公司来说——这个列表是什么样的绳索?
平台:Google App Engine,后端:Google App Engine 数据存储,服务层: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,你可以轻松地部署在便宜的网络酒店上)。我的想法是一个测试,我不需要成本和服务器(谁需要?)。我想专注于探索我的想法。因此,我正在考虑 Google App Engine,它为启动的 Web 应用程序提供免费的 Java 配额。
Google App 引擎的问题在于它是限制性的沙箱模型,并且许多框架不能按原样部署。
我想要一条能够与最少的黑客攻击一起工作的技术系列。这就是我请求您提供专业知识的地方,帮助我选择正确的框架,在 Google App 引擎上将 FLEX 与 Java 集成。
我想在服务器到客户端之间使用强类型对象,因此我正在寻找 AMF 解决方案。据我所知,查看论坛后,BlazeDS 需要破解,Pimento/Cinnamon 不起作用,Weborb 或 Adobe Livecykle 不是免费的。然而,GraniteDS 似乎无需打补丁即可在 Google 应用商店上运行。
GraniteDS 附带一个名为 Tide 的客户端框架,它与服务器端技术集成。但 Google App Engine 再次成为一个限制性环境。 Seam(它与 Tide 集成得最好)seam 是 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。但在我尝试之前我知道什么呢?
Friends,
Your technology stack is the rope that will save you or hang you. For a one man webservice startup - what kind of rope is this list?
Plattform: Google App Engine, Backend: Google App Engine Datastore, Servicelayer: Java,
Frontend: Adobe Flex
Client/Service integration framework: GraniteDS, Client Application Framework: Tide (Part of the GraniteDS stack), Service Application Framework: Spring
Ok, let me give you my context.
Flextras is right! Technology is mostly chosen because of knowledge/infrastructure ... This is how I ended up with the list given above:
First of all: FLEX appeals to me. It’s easy to build rich UIs and Adobe is pushing it in the direction Desktop, web and devices. Adobe marketing gives us the promise: ”Integrate with the other tools in the creative suite” and ”Deploy everywhere”. (Of course it’s too good to be true, but they seem to be on the right track.) So lets choose FLEX as our UI framework.
FLEX often must integrate with serverside technology. So what technology to choose for the service layer? I know PHP of old, but the dynamic, untyped feel of the language, just doesn’t feel right working side by side with flex.
Flex draws much of it’s inspiration from Java. And thinking in ActionScript and thinking in Java just feels right. (I’ve explored Scala but the tooling and best practices are not there yet for someone like me to adopt this great new language). I’ve chosen to learn java, hoping that it will make patterns and knowledge reusable between the server-side-programming and the client-side-programming.
The problem with java is it’s complexity and that it’s harder to deploy (for PHP you could easily deploy on a cheep webhotel). My idea is a test and I don’t want costs and servers (who does?). I want to focus on exploring my ideas. So I’m looking at Google App Engine who offers a free amount of Java quota for a startup web applications.
The problem with Google App engine is that it’s restrictive Sandbox model, and many frameworks doesn’t deploy as is.
I want a technology line that will work together with a minimum amount of hacking. And this is where I’m asking for your expertise, helping me choose the right frameworks for integrating FLEX with Java on the Google App engine.
I want to use strongly typed objects from server to client so I’m looking for an AMF solution. From what I can tell looking at forums BlazeDS needs hacking, Pimento/Cinnamon doesn’t work, Weborb or Adobe Livecykle aren’t free. GraniteDS however seams to be working on the Google app store without patching.
GraniteDS comes with a client framework called Tide that integrates with serverside technologies. But once again Google App Engine is a restrictive environment. Seam (which seams to integrate the best with Tide) seams to be a hack job on Google app engine. EJB3 or CDI is Java EE 6 technologies and not supported by Jetty (the servlet container powering Google App Engine). Spring seams like a viable candidate however.
The Google app engine dosen’t have a relational database, but has interfaced It’s new datastore behind the JPA interface that both Spring and Tide (GraniteDS) supports.
I’m not sure all this rambling makes any of us any the wiser.
What I’m asking is this: From FLEX to the Google App Store, what line of technologies gives me the least rope to hang myself with? Im suggesting Tide/GraniteDS/Java/Spring/JPA. But what do I know until I’ve tried it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
鉴于问题的模糊性:
我正在将 Flex/Cairgorme/Blazeds/JBossAS/Oracle Java EE 一起用于任务关键型、高性能、可扩展的应用程序。我强烈推荐这个组合。
Given the vagueness of the question:
I'm using Flex/Cairgorme/Blazeds/JBossAS/Oracle Java EE together for a mission critical, high performance, scalable application. I would highly recommend this combo.