Product: JayData Pro Edition

13 Oct
Categories: JayData Pro, Featured
Author: Péter Áron Zentai
* * * . - -

JayData Pro is a unified data access library for JavaScript developers. JayData Pro lets you access the most popular data APIs and data stores around you on a developer friendly way providing a common coding experience over several different sources like IndexedDB, WebSQL or OData.

Unified data management syntax

JayData makes it ridiculously simple to create and work with local databases and OData services, expressing CRUD and query operations with a slick syntax that works across  all data providers.

The easiest way to understand how JayData can help you is by reviewing the following JavaScript code snippet that revolves around a simple local database.

   $data.define("Todo", { Task: String, Completed: Boolean  });
   $data("Todo").save({Task:"Step 1", Completed: false });
   $data("Todo").query("it.Task.contains('Step') && it.Completed == true");

The code defines a Todo information type (and an WebSQL or IndexedDB database) with Task and Completed fields. It then stores and queries for some data. To achieve this functionality without using JayData you need to create a huge amount of code (above 300 lines). Check this post for the details.

Connect to online sources

Working with online data has never been easier.

   $data("Todo").setStore("default", { provider: 'webApi', apiUrl: '/api/Todos' });

With an additional line of code our Todo database could be over the net, exposed with WCF Data Services, Web API or OData.

Super easy way to work with OData endpoints

Forget complex client code to establish connection to your OData exposed database.

 $data.service("/Northwind.svc", function(factory) {
    var northwind = factory();
    northwind.Products.filter("it.Category.Name == 'Beverages'").forEach(...);
 });

 

 

UI library adapters

Beyond being a conduit to data JayData also provides adapters for a number of UI library frameworks like KendoUI, Knockout, Handlebars or Sencha.

See how simple is to have your data listed and edited in a KendoUI Grid component.

   <div id="grid">

   </div>
   <script>
       $('#grid').kendoGrid({
           editable: true,
           filterable: true,
           dataSource: $data.define("Todo", {
                           Task: String,
                           Completed: Boolean
                       }).asKendoDataSource()
       })
   </script>

 

 

 

Supported data sources and formats

JayData Pro supports the following storage options and APIs:

Local/HTML5 stores:

  • IndexedDB
  • WebSQL
  • localStore

Online providers for:

  • OData V2/V3
  • ASP.NET Web API
  • Yahoo! Query Language (YQL)
  • Facebook friends (FQL)

 

 

Comparison of the JayData Editions

The closed source product has some advantages that can be beneficial in some cases. It has a built-in 4-hours support which is best used for consulting about the solution you are planning to build with JayData Pro. Since it is not a GPL or MIT licensed product, it can be more easily used in strictly regulated environments which normally prohibit the usage of open source technologies or investigate them so thoroughly that the process is simply too long to wait. Don’t forget the sticky clause in GPL which turns every derivative or aggregate also into GPL.

JayData Pro extends the functionality of JayData Open Source by additional JayData Pro modules included in the JayData Pro package.

 

If you are building a serious, enterprise application, JayData Pro is the product you should consider.

  JayData Pro JayData Open Source
Commercial License Available Not available
Trial License Available Not available
Support plans Available
4 hours included
Available
Source licensing Closed source* Open Source: MIT, GPLv2
Create commercial apps Yes Yes
Retain JayData copyright notice in your app No Required
Publish your Apps code as Open Source No Not required with MIT license
Required with GPLv2 license
Compatible with Pro modules Yes Yes
Contains Pro modules Some** No
Price $300, one time fee Free
* Source code can be obtained under NDA for learning purposes
 
 
 
 
 
Leave a comment
comments powered by Disqus