A few words about anything
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Click

Easily build your mobile apps without worrying about data storage and backend communication.

Neat tool for building enterprise apps.

Support

OBJECT RELATIONAL MAPPING - ORM FEATURES

							
                    <!-- Design Of ApplicationDescriptor.xml -->
    <siminov>
    
        <!-- General Application Description Properties -->
            <!-- Mandatory Field -->
        <property name="name">application_name</property>	
	
            <!-- Optional Field -->
        <property name="description">application_description</property>
	
            <!-- Mandatory Field (Default is 0.0) -->
        <property name="version">application_version</property>


        <!-- Database Descriptors Used By Application (zero-to-many) -->	
            <!-- Optional Field's -->
        <database-descriptors>
            <database-descriptor>full_path_of_database_descriptor_file</database-descriptor>
        </database-descriptors>
		
        <!-- Services -->
        <service-descriptors>
  	
                <!-- Service -->
            <service-descriptor>full_path_of_service</service-descriptor>
    
        </service-descriptors>

	
        <!-- Sync Handlers -->
            <!-- Sync Handler -->
        <sync-descriptors>
        
            <sync-descriptor>
            
                    <!-- Mandatory Field -->
                <property name="name">name_of_sync_handler</property>
			
                    <!-- Optional Field -->
                <property name="sync_interval">sync_interval_in_millisecond</property>
     				
                    <!-- Optional Field -->
                        <!-- Default: SCREEN -->
                    <property name="type">INTERVAL|SCREEN</property>
			
                <!-- Services -->
                    <!-- Service -->
                <services>     		    
                    <service>name_of_service.name_of_api</service>
                </services>
            </sync-descriptor>
        
        </sync-descriptors>
    
        <!-- Push Notification -->
        <notification-descriptor>
        
                <!-- Optional Field -->
            <property name="name_of_property">value_of_property</property>

        </notification-descriptor>
    
	
        <adapter-descriptors>
        
                <!-- Adapter Paths -->
            <adapter-descriptor>adapter_path</adapter-descriptor>
	    	        
        </adapter-descriptors>
		
	
        <!-- Library Descriptors Used By Application (zero-to-many) -->
            <!-- Optional Field's -->
        <library-descriptors>
            <library-descriptor>full_path_of_library_descriptor_file</library-descriptor>   
        </library-descriptors>
	
	
         <!-- Event Handlers Implemented By Application (zero-to-many) -->
             <!-- Optional Field's -->
         <event-handlers>
             <event-handler>full_java_class_path_of_event_handler/javascript_class_path_of_event_handler (ISiminovHandler/IDatabaseHandler)</event-handler>
         </event-handlers>

    </siminov>
							

Easy Configuration

Provides a set of descriptors using which you can define your storage structure and service communication protocol
// Android
    Book cBook = new Book();
    cBook.setTitle(Book.BOOK_TYPE_C);
    cBook.setDescription(applicationContext.getString(R.string.c_description));
    cBook.setAuthor(applicationContext.getString(R.string.c_author));
    cBook.setLink(applicationContext.getString(R.string.beer_link));
  
    try {
        cBook.save();
    } catch(DatabaseException de) {
		//Log it.
    }
							
// iOS
    Book *cBook = [[Book alloc] init];
    [cBook setTitle:[Book BOOK_TYPE_C]];
    [cBook setDescription:@"c_description"];
    [cBook setAuthro:@"c_author"];
    [cBook setLink:@"c_link"];
  
    @try {
        [cBook save];
    } @catch(SICDatabaseException *databaseException) {
		//Log it.
    }
							
// Windows
    Book cBook = new Book();
    cBook.SetTitle(Book.BOOK_TYPE_C);
    cBook.SetDescription("c_description");
    cBook.SetAuthor("c_author");
    cBook.SetLink("c_link");
  
    try 
    {
        cBook.Save();
    } 
    catch(DatabaseException de) 
    {
		//Log it.
    }
							

Bind

Binds your platform specific data models (Android - Java, iOS - Objective C, Windows - C#, Hybrid - JavaScript) to relational database

Thread Safe

SQLite can be safely used by multiple threads with no restriction

REPRESENTATION STATE TRANSFER - RESTful FEATURES

// Android
    GetBooks getBooks = new GetBooks();
    getBooks.addResource(key_of_your_resource, your_resource);
    getBooks.invoke();
							
// iOS
    GetBooks *getBooks = [[GetBooks alloc] init];
    [getBooks addResource:key_of_your_resource resource:your_resource];
    [getBooks invoke];
							
// Windows
    GetBooks getBooks = new GetBooks();
    getBooks.AddResource(key_of_your_resource, your_resource);
    getBooks.Invoke();
							

Online/Offline

Provides seamless support for both online and offline communication

Push Notification

Provides generic way to handle notification on all different platforms
// Android
    ISyncRequest syncRequest = new SyncRequest();
    syncRequest.setName(name_of_your_sync_request);
    syncRequest.addResource(key_of_your_resource, resource);

    SyncHandler syncHandler = SyncHandler.getInstance();
    syncHandler.handle(syncRequest);
							
// iOS
    ISyncRequest syncRequest = [[SIKSyncRequest alloc] init];
    [syncRequest setName:name_of_your_sync_request];
    [syncRequest addResource:key_of_your_resource value:resource];

    SIKSyncHandler *syncHandler = [SIKSyncHandler getInstance];
    [syncHandler handle:syncRequest];
							
// Windows
    ISyncRequest syncRequest = new SyncRequest();
    syncRequest.SetName(name_of_your_sync_request);
    syncRequest.AddResource(key_of_your_resource, resource);

    SyncHandler syncHandler = SyncHandler.GetInstance();
    syncHandler.Handle(syncRequest);
							

Auto Synchronoize

Easy way to synchronize your app with the backend data systems
CONTRIBUTE
Driven by the community, backed by Siminov.