📜 ⬆️ ⬇️

Surface review of javascript-enabled BaaS platforms

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
image
URLparse.com
Blogblog.parse.com
Team17 people, office in San Francisco (California, USA)link
FinancingInvestors: Ignition, Y-combinator, StartFund, Google Ventures, SV Angel, Menlo Ventures, DST, etc ... Total investment: $ 7Mlink
Launch date2011.07
Platform SDKiOS, Android, REST, javascript. + many other unofficial (.net, Unity, ActionScript, etc ...)link
OpportunitiesUsers, Social, Location, Files, Data Push
Web control panelthe 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 Versionsnot
Access controlhave ACL. There are Roles, but only one role can be created at a free rate.link
Server side codenot
Multiple developers working togetheris on PRO and Enterprise tariff
Authentication Modelby keys, for each application separate Client Key, Javascript Key, REST API Key, Master Key
Integration with social networksFacebook, Twitter
Push notificationsiOS, Android
FeaturesJavascript 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 pricelink

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
image
URLstackmob.com
Blogblog.stackmob.com
Team24 people, office in San Francisco (California, USA)link
FinancingInvestors: Charles River Ventures, Founder Collective, Baseline Ventures, Harrison Metal Capital, Trinity Ventures, Total Investment: $ 7.5Mlink
Launch datepublic beta 2011.12
Platform SDKiOS, Android, Java, Javascript, Rubylink
OpportunitiesDatastore, Object Relationships, Geospatial, User Authentication, Push
Web control panelyou can create and populate tables (they are called Schemas), Roles. there is a test console with the REST API
Splitting Development / Production VersionsYes
Access controlflexible settings. Have Roleslink
Server side codethere is - Java / Scala / Clojure
Multiple developers working togethernot
Authentication Modelby keys, for each application separate Public / Private Keys. OAuth 2.0 authorization
Integration with social networksFacebook, Twitter
Push notificationsiOS, Android
Featuresfile 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.99link

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
image
(formerly called Mob1serv)
URLquickblox.com
Blogquickblox.com/blog
Team30 (?) People. London / San Francisco / Kharkiv
Financing?link
Launch datepublic beta 2011.10
Platform SDKiOS, Android, WP7, Web / Facebook
OpportunitiesModules: Content, Custom, Location, Messages, Ratings, Users, Chat
Web control panelfor 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 Versionsnot
Access control? (not found)
Server side codenot
Multiple developers working togetheryes, at paid rates
Authentication Modelmodification of OAuthlink
Integration with social networksFacebook, Twitter
Push notificationsiOS, Android, Microsoft, BlackBerry
Featuresin 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: $ 19link

A description of this platform is best read by authors: habrahabr.ru/post/143653
Web / 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
image
It was a separate company that Appcelerator acquired in February 2012 and now the service is called Appcelerator Cloud Services (ACS)
URLwww.appcelerator.com/cloud
Blogdeveloper.appcelerator.com/blog
TeamOriginally there were three people in cocoafish
Financingthe goodlink
Launch date2012.04
Platform SDKfor those that support Appcelerator Titanium, plus a separate Javascript SDK
Opportunitiesmany 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 panelIn each "module" you can create / edit records. Not very convenient and slow. No import / export
Splitting Development / Production VersionsYes
Access controlhave ACL
Server side codenot
Multiple developers working togethernot
Authentication Modelby keys, for each application separate APP Key. OAuth authorization (2-legged, 3-legged)link
Integration with social networksfacebook
Push notificationsiOS, Android
Featureshave 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
image
URLwww.kinvey.com
Blogwww.kinvey.com/blog
Team14 people, office in Cambridge (Massachusetts, USA)link
FinancingInvestors: TechStars, Avalon Ventures, Atlas Venture. Total investment: $ 7Mlink
Launch date2012.04 - public beta. 2012.07 - public release
Platform SDKiOS, Android, Javascript (including separately for phonegap and titanium)link
OpportunitiesAppdata - 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 panelyou 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 Versionsnot
Access controlthere is an ACL, it is set in code, not via the web panel
Server side codeThere is a setting validation of input data. In the following releases, the full functionality.
Multiple developers working togetherYes
Authentication ModelApp Key, App Secret, Master Secret
Integration with social networksauthorization with facebook
Push notificationsiOS, Android
FeaturesSupport 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 fileslink

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
image
URLcloudmine.me
Blogblog.cloudmine.me
Team10 people, office in Southern Liberties (Philadelphia, USA)link
FinancingInvestors: DreamIt Ventures, Ben Franklin Technology Partners of Southeastern Pennsylvania. Total investment: $ 120klink
Launch date2011.08
Platform SDKiOS, Android, Javascript
OpportunitiesUser-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 panelNot very comfortable. You can create users, create / edit JSON objects
Splitting Development / Production Versionsnot
Access controlthere is an ACL, there is also a flexible setting of restrictions on the API keylink
Server side codeyes - java, javascript
Multiple developers working togethernot
Authentication ModelApplication ID, Keys API (with customizable tolerances)link
Integration with social networksnot
Push notificationsnot
Featuresserver side javascript, GZIP'd JSON or MessagePack data compression
Free features:500 free active users monthly
Prices:$ 0.05 / active userlink

Attention is drawn to the fact that it is possible to write your server-side javascript code




7. Usergrid
image
It was a separate company, which Apigee acquired in January 2012. now called Apigee App Services
URLapigee.com/usergrid
Blogblog.apigee.com
Team
Financingthe goodlink
Launch date
Platform SDKiOS, Android, HTML5link
OpportunitiesData storage, User management, Roles, Social networking, Geolocation, Facebook sign-in, and much more (Activities, Assets, Devices, Events, Folders, Groups, Roles, Users)
Web control panelA little inconvenient (rather, unusual) - all the functionality through REST API requests right in the web panel
Splitting Development / Production Versionsnot
Access controlAccess can be adjusted using Roleslink
Server side codenot
Multiple developers working togetherYes
Authentication ModelClient ID, Client Secret, OAuth 2.0link
Integration with social networksauthorization with facebook
Push notificationsnot
Featureslarge 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 - unknownlink

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
image
URLdeveloper.sencha.io
Blogwww.sencha.com/blog
Team
Financingthe goodlink
Launch datebeta - 2011.10
Platform SDKjavascript
OpportunitiesUser Services, Data Services, Channel Services
Web control panelfunctionality is very limited
Splitting Development / Production VersionsYes
Access controlnot (?)
Server side codenot
Multiple developers working togetherYes
Authentication Modelapp id, secret
Integration with social networksauthorization with facebook
Push notificationsnot
Featuresspecifically 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.

Source: https://habr.com/ru/post/150729/


All Articles