We’ve been hard at work on Sencha.io, but it’s been a while since we’ve shared with the community updates on what we’ve been doing. So, we thought we’d take a moment to update folks on what’s new in the world of Sencha.io.
Through the winter and the spring, we’ve been focusing on making the service easier to use. Developers and community members who have been testing and trying to build apps on Sencha.io have been invaluable in providing feedback on the APIs, the features, and helping guide us to build a product that services their mobile app needs.
Our key areas of investment the last few months have been around simplifying the API, adding features to the current services and making them easier to learn. We’ve simplified APIs, added additional features to services like Login, and built out new examples that show you how easy it is to build applications that leverage Sencha.io.
h3. Service Updates
Underlying all of the APIs and the SDK are the core Sencha.io services and we’ve been working with input from the community on how to make them solve the most common problems, and add features to them were we’ve found them to be lacking.
* Login service now works with Facebook! We’ve hooked up Facebook auth directly into the login service, so you can start to have users login with their Facebook identity. Read on to see how easy it is.
* Developer Console (developer.sencha.io) has been refreshed to be faster and more responsive. We’re also starting work on some big updates to Developer Console to better expose the various features that the SDK and the APIs feature.
* We’ve renamed “Messages” in the API to “Channels”. We thought this name change better communicated the publish and subscribe nature of the messaging service. At their heart they remain the same. Put a JSON object in one end, get a JSON object out the other end.
* When your app is offline, any messages you place in a channel are now queued in local storage, so that next time your app is online, they’ll get pushed up to the cloud.
* Data stores can now be private or public. You can programmatically set their visibility via the API, and by default they’re private. Private means that only the user of the app can read or write to them, but when you share them publicly anybody with their ID can read/write to them.
* All of the services now send back a standard error object, so when you’re developing an application, you get a standard set of information back when something goes wrong. The information is actionable and specific so you can better understand what’s happening. As an added bonus, we anonymously track errors on our end for better monitoring of the service health.
h3. Better APIs and a Cleaner Sencha.io SDK
Our goal with cleaning up the APIs has been to make Sencha.io easier to use and to integrate in to your application. The various changes listed below make it more familiar to Sencha developers and streamline a lot of the most common application patterns.
* The Sencha.io SDK is now compatable with Sencha Touch 2, and the API has been cleaned up to be eaiser to use.
* Almost all services take fewer lines of code to accomplish the same thing, while retaining the same level of flexibility.
* We have a new class, called the Ext.io.Controller. It makes integrating Sencha.io in to a Sencha Touch 2 application much eaiser. All you need to do is add this controller in your app.js to your list of controllers, and it gets your app wired up to use Sencha.io for you. All the user registration and authentication is handled for you, including a view for a login screen so you get instant user authentication out of the box.
* We’ve also added a little UX called the authbutton (Ext.io.ux.AuthButton) that lets your user manually login and out.
* All APIs calls are validated before they hit the cloud — that means if there’s an extra parameter when you call an API from the JavaScript SDK or pass in something else that Sencha.io isn’t expecting, we know about it and link to you to where in the documentation you can look up the expected parameters. This is super handy for new Sencha.io developers to get started since we help guide you around common mistakes.
h3. Examples in the SDK
The SDK download now includes three examples for you to base your applications on, or use as code samples:
* Messaging — a simple messaging app with both authenticated and non-authenticated users. This uses the Channels service and the Login service.
* Shared Location — use a user public data store and the built in location API to share user locations on a map component. This uses the Data service.
* Todos — a user private data store that lets users keep track of their tasks. This uses the Data and the Login service.
As you can see it’s been a busy few months for the team, and we’re excited about all the new features and enhancement we’ve been making!
For more information about how to get started, how to get the API, check out the documentation at http://docs.sencha.io/ and download the SDK. And if you’re totally brand new, our getting started guide will get you up and running in short order adding Sencha.io features to you Sencha Touch 2 application.
Last but not least: if you have any questions, you can find the engineering team in the Sencha.io forums. We’re excited to see what you’ll build!
It’s great to hear that Sencha.io isn’t dead and fully in development. I got to know and work with it during SenchaCon last year, which made me feel very excited. But due to incompatibilities and issues with Sencha Touch 2 I was not able to use it for my new projects.
Once Sencha.io is fully functional again I will be checking it out once again.
Some small suggestion; when Sencha.io becomes available to the public, would it be possible to have a business model like Github? Make open services free and make private services paid? Or is IO not suited for that kind of model?
When will you have a REST API so cloud data (users, devices, data, etc) can be accessed programatically, similar to Parse.com?
Whithout external access we can not use Sencha.IO
When using your CDN server at https://cdn.sencha.com/ext-4.1.0-gpl
I get the following error:
Uncaught SyntaxError: Unexpected token < Anyone knows what the problem is?
@Andy All external access is through the JS SDK right now. What other language or framework do you want to connect to SIO with?
John
@Martin Hi!
Yes, now that Sencha Touch 2 has shipped, we have a lot planned for Sencha.io.
Our intention is that we will always have a free tier of usage for developers to experiment and innovate with. We haven’t worked out how we’ll charge for Sencha.io yet, but as we learn more about how people make use of it, we will develop business models that hopefully make economic sense for everyone.
Need some advice…should I use Sencha IO or Stackmob or Parse if I’m developing a Sencha Touch app? Pros and cons?
Does sencha.io also work with ExtJS 4.1?
Would be awesome, to have mobile and desktop integrate through this platform.
@Jeff I might be biased, but I think you should use Sencha.io
@Kasper Sencha.io partially works with Ext4.1. User registration and authentication works. Channels work. But synchronized data stores do not. The data package in Sencha Touch 2 and ExtJS 4.1 differ in quite a few ways, and so it’s going to take us a while to reconcile them.
@John Is data stored on Sencha.io available through REST? What if I also need to work with the data in a Rails web app?
@Jeff There’s no REST API right now, you’d have to use the Javascript client code on the server side. You can run it in node.js, for example.
All write-up is quite helpful to me. Really i was looking forward to read about this. And I want to follow this advice. Thanks for this allocation. :lol:
http://showamerica.com/
@John Merrells
Hi John! Are there plans to make Sencha fully compatible with ExtJS 4.1?
@Esteban Yes, we are planning for Sencha.io to work with ExtJS. Note that most of it works very well already. It’s only the Sync Store that’s not implemented for ExtJS yet.
Some small suggestion; when Sencha.io becomes available to the public, would it be possible to have a business model like Github? Make open services free and make private services paid? Or is IO not suited for that kind of model?
@malik Our intention is that we will always have a free tier of usage for developers to experiment and innovate with. We haven’t worked out how we’ll charge for Sencha.io yet, but as we learn more about how people make use of it, we will develop business models that hopefully make economic sense for everyone.
We’ve simplified APIs, added additional features to services like Login, and built out new examples that show you how easy it is to build applications that leverage Sencha.io.
We haven’t worked out how we’ll charge for Sencha.io yet, but as we learn more about how people make use of it, we will develop business models that hopefully make economic sense for everyone.
It’s great to hear that Sencha.io isn’t dead and fully in development. I got to know and work with it during SenchaCon last year, which made me feel very excited. But due to incompatibilities and issues with Sencha Touch 2 I was not able to use it for my new projects.