[英]Which cloud database back end should I use for my Android app?
I'm designing a service that will comprise a cloud-based database (with a UI for us to manage the data), and then a mobile app for end-users that displays the data to people who want it (primarily read-only). 我正在设计一个服务,它将包含一个基于云的数据库(具有用于管理数据的UI),然后是一个面向最终用户的移动应用程序,用于向需要它的人显示数据(主要是只读) 。 The end-users will be anonymous.
最终用户将是匿名的。
The cloud database / app server needs to provide: 云数据库/应用服务器需要提供:
A solid, scalable, cloud-based database 一个可靠,可扩展,基于云的数据库
A nice easy API, REST, and ideally an Android SDK 一个不错的简单API,REST,理想情况下是一个Android SDK
A UI on the web to manage data (including creating forms across tables) Web上用于管理数据的UI(包括跨表创建表单)
Sensible pricing, but not free 明智的定价,但不是免费的
My options include Google App Engine, Microsoft Azure, hosted Couchdb, Salesforce's forthcoming database.com, and Amazon SimpleDB. 我的选择包括Google App Engine,Microsoft Azure,托管Couchdb,Salesforce即将推出的database.com和Amazon SimpleDB。 But my third requirement, web-based forms for internal data management, are proving the biggest hurdle.
但我的第三个要求是基于网络的内部数据管理表格,这是最大的障碍。
Database.com (or more specifically the force.com product) make it VERY easy to create online forms to run reports, and add and edit data. Database.com(或更具体地说是force.com产品)使得创建在线表单以运行报告以及添加和编辑数据非常容易。 But Salesforce are a pain in the backside to deal with, and the database.com pricing looks expensive.
但Salesforce在处理背后很痛苦,而且database.com定价看起来很昂贵。
People are suggesting I code up a UI myself for the data editing & management, and yes I could, but it's a lot of work (especially as I don't know Azure, Python etc), and I'd much rather put that effort into the app, which is what my customers will use. 人们建议我自己编写一个用于数据编辑和管理的UI,是的,我可以,但这是很多工作(特别是因为我不知道Azure,Python等),我更愿意付出这些努力进入应用程序,这是我的客户将使用。 I'm new to Android this year, so have my hands full learning the one platform.
今年我是Android的新手,所以让我的双手充分学习一个平台。
One option is for me to use force.com to manage the data, but then replicate it somewhere else, where the API calls come in, best of both worlds perhaps. 一种选择是让我使用force.com来管理数据,然后将其复制到API调用进入的其他地方,也许是两个世界中最好的。
Which option suits my needs best? 哪种选择最适合我的需求? I'm sure I'm far from alone in looking for a nice back-end service to sit behind mobile apps.
我确信在寻找一个不错的后端服务来支持移动应用程序时,我并不孤单。
Django is worth a look for App Engine - it comes with built in admin console support, which makes it easy to modify your datastore interactively. Django值得一看App Engine - 它内置管理控制台支持,可以轻松地以交互方式修改您的数据存储。 Check out django-nonrel if you're interested.
如果你有兴趣,请查看django-nonrel 。
If you go the Amazon SimpleDB route you'll also need a server to sign the requests. 如果您使用Amazon SimpleDB路线,您还需要一台服务器来签署请求。
There is no secure way to embed your Amazon access credentials into an application, so you'll need a web/application server as a 'middle man'. 没有安全的方法将您的Amazon访问凭证嵌入到应用程序中,因此您需要一个Web /应用程序服务器作为“中间人”。
In fact, I think you'll have this issue with most of the cloud based databases. 事实上,我认为大多数基于云的数据库都存在这个问题。
You mentioned "web-based forms for internal data management, are proving the biggest hurdle" caught my attention, I think you should take a look at online database builders like Ragic . 你提到“基于网络的内部数据管理表格,证明是最大的障碍”引起了我的注意,我认为你应该看看像Ragic这样的在线数据库构建者。
Well. 好。
I cannot tell you what is the best for your needs, however, i do know that Restlet (http://www.restlet.org/) has both a GAE and Android SDK, perhaps this could be interesting? 我不能告诉你什么是最适合你的需求,但是,我知道Restlet(http://www.restlet.org/)既有GAE又有Android SDK,也许这可能有趣吗?
In my experience this works pretty smooth. 根据我的经验,这非常顺利。
SQL Azure has this that might help with your third requirement: http://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx SQL Azure可能有助于满足您的第三个要求: http : //blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx
Thought I'm not sure if it is out of CTP yet. 以为我不确定它是否已经过了CTP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.