Being a javascript beginner developer, I became interested in cross-platform mobile application development. In this area, at present, Cordova (phonegap)
www.phonegap.com , Appcelerator Titanium
www.appcelerator.com , Mosync
www.mosync.com rule the
ball .
Sooner or later, after the release of the first mini-applications based on these systems, the developer will want to create something Big and Light, and would like to have users (c avatars, etc.), push-notifications in this new application / service , user-generated-content, etc ... But at the same time, I would not want to spend time and money on writing my server infrastructure, but I would like to use something inexpensive, even free, and easy to learn (and more so " in the cloud "!).
Just this kind of gravity and took on numerous Backend-as-a-Service (not to be confused with other aaS). I want to briefly go over some players in this market. I emphasize that I was primarily interested in those platforms that could be easily and safely used with mobile javascript (Phonegap / Titanium). If the platform simply provides the REST API, this is not enough, since The security issue requires some special restrictive functionality: AccessControlList / permissions / masterKeys / etc. And in general, it is desirable to have a separate javascript SDK.
')
(Since this is a “superficial review”, I will not write in detail to whom and why BaaS is needed, and why not use good old PHP / MySQL on a VPS or a new good node.js in the cloud instead of all this)
I started my search from
www.programmableweb.com/apis/directory/1?apicat=Backend there are almost 40 platforms listed there.
After reviewing them, I left for review those that can easily be used with javascript:
1.
Parse
URL | parse.com | |
Blog | blog.parse.com | |
Team | 17 people, office in San Francisco (California, USA) | link |
Financing | Investors: Ignition, Y-combinator, StartFund, Google Ventures, SV Angel, Menlo Ventures, DST, etc ... Total investment: $ 7M | link |
Launch date | 2011.07 | |
Platform SDK | iOS, Android, REST, javascript. + many other unofficial (.net, Unity, ActionScript, etc ...) | link |
Opportunities | Users, Social, Location, Files, Data Push | |
Web control panel | the ability to create and populate tables (they are called Classes), import them from CSV files, send push messages, export all accumulated data | |
Splitting Development / Production Versions | not | |
Access control | have ACL. There are Roles, but only one role can be created at a free rate. | link |
Server side code | not | |
Multiple developers working together | is on PRO and Enterprise tariff | |
Authentication Model | by keys, for each application separate Client Key, Javascript Key, REST API Key, Master Key | |
Integration with social networks | Facebook, Twitter | |
Push notifications | iOS, Android | |
Features | Javascript SDK based on backbone.js | |
Free features: | per month: 1,000,000 API requests; 1,000,000 push messages; 1Gb file storage. You can pay extra for excess | |
Prices: | after the free, the PRO goes for $ 199 per month, then the Enterprise with an unknown price | link |
A well-known platform (boast that more than 16,000 applications use parse), a large team with a good financial background.
Separate Javascript SDK based on backbone.js
Admin looks spartan, but comfortable. As fields of the created tables (i.e., “Classes”) you can use: String, Number, Boolean, Date, File (you can upload the file there, in the admin area), Pointer (points to another Class), Geopoint, Array, Object (JSON object up to 128kb), Relation (points to Row from another Class). Each item of data (or rather the entire "row", Row) can be assigned an ACL in the form of a list of users who can write / read.
Also, the entire table can be set to limit the public Get / Find / Update / Create / Delete / AddFields (and make them available to certain users or Roles)
2.
Stackmob
URL | stackmob.com | |
Blog | blog.stackmob.com | |
Team | 24 people, office in San Francisco (California, USA) | link |
Financing | Investors: Charles River Ventures, Founder Collective, Baseline Ventures, Harrison Metal Capital, Trinity Ventures, Total Investment: $ 7.5M | link |
Launch date | public beta 2011.12 | |
Platform SDK | iOS, Android, Java, Javascript, Ruby | link |
Opportunities | Datastore, Object Relationships, Geospatial, User Authentication, Push | |
Web control panel | you can create and populate tables (they are called Schemas), Roles. there is a test console with the REST API | |
Splitting Development / Production Versions | Yes | |
Access control | flexible settings. Have Roles | link |
Server side code | there is - Java / Scala / Clojure | |
Multiple developers working together | not | |
Authentication Model | by keys, for each application separate Public / Private Keys. OAuth 2.0 authorization | |
Integration with social networks | Facebook, Twitter | |
Push notifications | iOS, Android | |
Features | file hosting via amazon s3 | |
Free features: | per month: 60,000 API requests; 60,000 push posts. You can pay extra for excess | |
Prices: | the next after free fare: $ 8.99 | link |
Also as for Parse, a big team and funding inspire respect and awe.
Also resembles Parse in that it uses backbone.js. Of the distinctive features - you can write server code in Java / Scala / Clojure
As fields of the created tables (i.e. Schemas), you can use: String, Integer, Float, Boolean, Array, Binary (via download on Amazon S3), Geopoint. You can define Relationships between one-to-one / one-to-many schemes.
Schemes can set a limit on Create / Read / Update / Delete and make them available to certain Roles.
3.
Quickblox
(formerly called Mob1serv)
URL | quickblox.com | |
Blog | quickblox.com/blog | |
Team | 30 (?) People. London / San Francisco / Kharkiv | |
Financing | ? | link |
Launch date | public beta 2011.10 | |
Platform SDK | iOS, Android, WP7, Web / Facebook | |
Opportunities | Modules: Content, Custom, Location, Messages, Ratings, Users, Chat | |
Web control panel | for each module its own functionality for adding / editing data. In custom, you can create your own class with Integer / Float / Boolean / String fields. | |
Splitting Development / Production Versions | not | |
Access control | ? (not found) | |
Server side code | not | |
Multiple developers working together | yes, at paid rates | |
Authentication Model | modification of OAuth | link |
Integration with social networks | Facebook, Twitter | |
Push notifications | iOS, Android, Microsoft, BlackBerry | |
Features | in developers - "our people", present on Habré | |
Free features: | per month: 1,000,000 API Calls. 1,000,000 Push Notifications. 5 GB Traffic Storage. You can pay extra for excess | |
Prices: | the next after free fare: $ 19 | link |
A description of this platform is best read by authors:
habrahabr.ru/post/143653Web / Facebook framework is now under development - and it seems to me that this is not a very active / priority development, so quickblox for javascript is still difficult to master.
4.
Cocoafish
It was a separate company that Appcelerator acquired in February 2012 and now the service is called Appcelerator Cloud Services (ACS)
URL | www.appcelerator.com/cloud | |
Blog | developer.appcelerator.com/blog | |
Team | Originally there were three people in cocoafish | |
Financing | the good | link |
Launch date | 2012.04 | |
Platform SDK | for those that support Appcelerator Titanium, plus a separate Javascript SDK | |
Opportunities | many mini-modules: Push Notifications, User management, Photo integration, Places (rich location storage), Social integration, File Storage (Beta), Check-ins, Status updates, Chats, Friendly connections (Beta), Ratings and Reviews , Discussion forums, Event planning (Beta), Messaging (Beta), Key-Value data storage | |
Web control panel | In each "module" you can create / edit records. Not very convenient and slow. No import / export | |
Splitting Development / Production Versions | Yes | |
Access control | have ACL | |
Server side code | not | |
Multiple developers working together | not | |
Authentication Model | by keys, for each application separate APP Key. OAuth authorization (2-legged, 3-legged) | link |
Integration with social networks | facebook | |
Push notifications | iOS, Android | |
Features | have Analytics events | |
Free features: | 250,000 Tier 1 API calls. 250,000 Tier 2 API calls. 5 GB storage | |
Prices: | In addition to free, there are tariffs ACCELERATE STANDARD, ACCELERATE ENHANCED, ACCELERATE PREMIUM (prices are disclosed by email request). for a free tariff, you can pay for quotas exceeding (1,000,000 API calls Tier 1 Services for $ 10. 500,000 API calls Tier 2 Services for $ 10. Storage Limit 20 GB for $ 5) | link |
It is understood that developers using Appcelerator Titanium will have maximum convenience, but a separate Javascript SDK is also available.
Reminds Quickblox - many "mini-modules", including the ability to create your own Custom Objects (with the fields: number, string, boolean, dictionary, array, date). Particular attention is to the soc. user interactions - just do your mobile facebook with blackjack and someone there.
5.
Kinvey
URL | www.kinvey.com | |
Blog | www.kinvey.com/blog | |
Team | 14 people, office in Cambridge (Massachusetts, USA) | link |
Financing | Investors: TechStars, Avalon Ventures, Atlas Venture. Total investment: $ 7M | link |
Launch date | 2012.04 - public beta. 2012.07 - public release | |
Platform SDK | iOS, Android, Javascript (including separately for phonegap and titanium) | link |
Opportunities | Appdata - An auto-scaling key-value data store that supports nested data structures, typed values ​​and advanced queries. Resources - A massive CDN backed up you can picture. Users - Keep track of your data. | |
Web control panel | you can create and populate tables (they are called Collections). there is a console with REST API there is a CSV import, JSON export | |
Splitting Development / Production Versions | not | |
Access control | there is an ACL, it is set in code, not via the web panel | |
Server side code | There is a setting validation of input data. In the following releases, the full functionality. | |
Multiple developers working together | Yes | |
Authentication Model | App Key, App Secret, Master Secret | |
Integration with social networks | authorization with facebook | |
Push notifications | iOS, Android | |
Features | Support for the box, 3rd-party Data Integration | |
Free features: | up to 200 active users, up to 2 GB storage | |
Prices: | grows with an increase in the number of active users and the size of stored files | link |
They promote the concept of BaaS in general and themselves in particular. An interesting and active blog - there is a cognitive diagram showing who, what and where in this market area
www.kinvey.com/images/kinvey_backend-as-a-service_mobileecosystem_2100px.png
6.
Cloudmine
URL | cloudmine.me | |
Blog | blog.cloudmine.me | |
Team | 10 people, office in Southern Liberties (Philadelphia, USA) | link |
Financing | Investors: DreamIt Ventures, Ben Franklin Technology Partners of Southeastern Pennsylvania. Total investment: $ 120k | link |
Launch date | 2011.08 | |
Platform SDK | iOS, Android, Javascript | |
Opportunities | User-Acquisition, App-level Security, Geo Queries, Push (coming soon), Server-side Code, No Data Models, File Storage, Compressed Data Transfer, Object Data Storage | |
Web control panel | Not very comfortable. You can create users, create / edit JSON objects | |
Splitting Development / Production Versions | not | |
Access control | there is an ACL, there is also a flexible setting of restrictions on the API key | link |
Server side code | yes - java, javascript | |
Multiple developers working together | not | |
Authentication Model | Application ID, Keys API (with customizable tolerances) | link |
Integration with social networks | not | |
Push notifications | not | |
Features | server side javascript, GZIP'd JSON or MessagePack data compression | |
Free features: | 500 free active users monthly | |
Prices: | $ 0.05 / active user | link |
Attention is drawn to the fact that it is possible to write your server-side javascript code
7.
Usergrid
It was a separate company, which Apigee acquired in January 2012. now called Apigee App Services
URL | apigee.com/usergrid | |
Blog | blog.apigee.com | |
Team | | |
Financing | the good | link |
Launch date | | |
Platform SDK | iOS, Android, HTML5 | link |
Opportunities | Data storage, User management, Roles, Social networking, Geolocation, Facebook sign-in, and much more (Activities, Assets, Devices, Events, Folders, Groups, Roles, Users) | |
Web control panel | A little inconvenient (rather, unusual) - all the functionality through REST API requests right in the web panel | |
Splitting Development / Production Versions | not | |
Access control | Access can be adjusted using Roles | link |
Server side code | not | |
Multiple developers working together | Yes | |
Authentication Model | Client ID, Client Secret, OAuth 2.0 | link |
Integration with social networks | authorization with facebook | |
Push notifications | not | |
Features | large free quotas | |
Free features: | 35,000,000 API requests / month 10 Gigabytes storage - while the service is in beta | |
Prices: | what prices will be after the completion of the beta - unknown | link |
Apigee is a serious company that helps serious clients at
apigee.com/about/customers with the development / support / monitoring of their own API services. Describes itself as “Google Analytics for API”. Acquired Usergrid at the beginning of this year, but the service is still with the status of beta.
Free quotas look very tempting, but what will be the final prices?
8.
sencha.io
URL | developer.sencha.io | |
Blog | www.sencha.com/blog | |
Team | | |
Financing | the good | link |
Launch date | beta - 2011.10 | |
Platform SDK | javascript | |
Opportunities | User Services, Data Services, Channel Services | |
Web control panel | functionality is very limited | |
Splitting Development / Production Versions | Yes | |
Access control | not (?) | |
Server side code | not | |
Multiple developers working together | Yes | |
Authentication Model | app id, secret | |
Integration with social networks | authorization with facebook | |
Push notifications | not | |
Features | specifically aimed at working with the Sencha Touch library | |
Free features: | did not find the description | |
Prices: | not yet known | |
Service from the creators of ExtJS.
Of all those examined, it seemed to me the most, well, if not to say that it was raw, then “unremovable”: prices and limits are not published, there is almost nothing to do in the admin panel, there are no push notifications ... But I guess without a doubt that developers familiar with Sencha Touch, service would have liked.
Unfortunately, I do not have any serious experience with these platforms, for sure there are a lot of rakes and features that would be worth adding to the review (will be, over time).
Summing up, we can say that the BaaS segment is quite young, the main development in it began only this year. It is traced that more or less at the same time, the same new “features” (ACL, oAuth) are launched on different platforms. Despite the youth, there are already interesting, quite viable, proposals.
I could make mistakes and inaccuracies in the description - report, correct.