Quantcast
Channel: Envato Tuts+ Code
Viewing all articles
Browse latest Browse all 5161

Introduction to Syncano

$
0
0

Nowadays we all want to get notified as soon as things happen on the Internet. Google, Facebook and Twitter all offer real-time updates, because they know that none of us will use their service if we have to refresh the page to get new tweets or notifications.

Currently the browsers we have are lightning fast and process client-side things very quickly. So what we should focus on is the back-end part, and the most important part is how you manage your data, how you store your data, how your data is indexed, etc. Dealing with data and database management is a really complex and time-consuming task because your application behavior mainly depends on that.

What If I tell you that there is a service that can perform this really complex and time-consuming task for you in a very efficient manner? Sounds interesting, doesn't it?

In this article we will discuss just such a service: it's called Syncano. It has a very nice mantra "Real-time apps, simplified." This service is built for developers, as specified in its slogan:

Our scalable platform helps developers build complex apps with only frontend code. Focus on what excites you – we’ll handle your backend.

As developers we feel relaxed when we see, "with only front-end code." Now what remains is the storing and fetching of data and we are good to go!

Why Syncano?

In this section, we will look at various features of Syncano, so you have a better answer to "Why Syncano?"

API Interface

All the communication between your application and the Syncano server will take place using its API interface. To cover a larger market, Syncano provides support for different types of API connections.

HTTP

If you are an HTTP fan then you have the following options for using API over HTTP:

  • JSON-RPC
  • XML-RPC
  • RESTful and JSON

Sync Server

Syncano's Sync Servers provide a stateful connection with Syncano which enables you to make API requests using a TCP connection and provides notification and/or subscription processing ability. Connection over WebSocket is also possible with Syncano Sync Server.

Data Modeling

Here comes the most important and complex part. Let's see what Syncano says about data structure:

Complex applications often require a structured data framework to create a functional, dynamic and personalized user experience.

To have large data scalable for large applications, Syncano has divided data structure in the following way:

Syncano Data Modeling

Projects

A Project is the top most entity in Syncano Data Modeling. You can add 25 projects per instance.

Collections

A Collection is on the second level after projects. A Collection behaves like a distinct container for your content. We are limited to adding 25 collections per project.

Each Collection comes with two important properties: status and collection key. In this case, status contains two states: active or inactive. If you want to manage a similar kind of Collection, then you can use the Collection key value. This Collection key should be used for an API query instead of the Collection name.

Folders

Folders in Syncano are designed to manage your data in Collections. There is a limit of 100 folders per Collection, and by default each Collection contains one folder named "INBOX".

Data Objects

Inside folders, we can store our data with some additional information. There are a few inbuilt properties of data objects, but the most important part is that we can create our own properties as well.

Each Data Object has a status (pending, moderated or rejected), so you can manage which Data Objects should be available to your application. Say, for example, your application allows the user to create data—which are actually Data Object s for Syncano. Then you should give those Data Objects a status of "pending" because they need verification and should not be disclosed on the application until they've been moderated.

Data Objects in Syncano contain three data values by default, which can hold integer values. We can use these values to sort and filter our Data Objects. Additionally we can sort and filter by creation and modification date of the Data Object.

Along with these three data values, we can create a number of additional fields with just a few clicks in Syncano Admin GUI.

It does not matter how complex your data structure is, you can manage it with Syncano Data Objects, because it provides an N-level of parent/child and many-to-many relationships between data objects. In the admin panel, you just need to drag and drop data over objects to create the relationship.

The most important part is, you can manage all this either from API calls or by just a few clicks in the Admin Panel.

Data Storage

Anything can be saved with Syncano. If you do not know when data usage goes high then Syncano should be your choice, as it will scale automatically based on need.

Syncano gives you additional tools in case of images of storage, such as automatic thumbnail generation. Now when an application requests an object with the image as data, the Syncano server will send both (full, thumb) URLs for the image.

Access Management

Up to now we have seen what we can store with Syncano and how. But another important aspect provides Access Management of that data as well. Within the Syncano Admin Panel we can define different roles to access the API and Admin Panel.

We can create multiple instances of an application and can have separate access URLs for them.

When it comes to Access Management, then I would say we can define that up to the lowest entity, which is a data object in the case of Syncano. So basically for each user level, we can define which data objects they can access.

Admin GUI

Here comes the most useful part. All the things we've covered so far can be maintained from the admin interface. You can create your Projects, Collections, Folders and Data Objects without writing a single line of code.

I will give you a little sneak peek at various sections of the admin panel.

Data Management

Data Management in Syncano

Client Management

Client Management in Syncano

Client Library

Syncano is already enriched with client libraries for various programming and scripting languages. You can find below the list of languages, and choose your preferred one:

  • Python
  • JavaScript
  • Android
  • iOS/Obj-C
  • Ruby
  • .Net (Coming Soon)

What's Next?

In an upcoming article, we will cover a small application demo which shows the use of Syncano Sync API, Data Management, and client libraries. So far we have covered all the features of Syncano and I would say it looks really promising. So what are you waiting for? Follow this link to subscribe and give it a try for your next application.


Viewing all articles
Browse latest Browse all 5161

Trending Articles