Skip to content

FirstVertex/smartjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The SmartJs Realtime Mobile Application Framework

SmartJs is a recursive acronym that stands for

SOLID MVVM AMD Real Time jQueryMobile SPA

What's that mean? I have a website that attempts to explain it.

Patterns and Practices

  • SPA - Single Page Application
  • MVVM - Model View ViewModel
  • Module - Independent components with no shims or globals
  • SRP - Single Responsibility Principle
  • OCP - Open/Closed Principle
  • DI/IOC - Dependency Injection / Inversion of Control
  • Pub/Sub - Publisher Subscriber pattern
  • Virtual Pub/Sub - crosses device boundaries throughout connected system

Technologies

Demo App Features

  • Realtime chatrooms
  • Dynamic memberlist
  • Persistent topics
  • Realtime feedback on chat room member list
  • Event based: Client to Server, Server to Client, Client to Client, Client to Group, Server to Group
  • Segregate network traffic into subscriber groups
  • Virtual event pub/sub
  • Queueing network events in case of latency/unavailability of server
  • Persistent local device member
  • Implement 100% height jQuery mobile view as Amd module
  • Implement Js "Schema" module to prevent fragmentation of data model
  • Implement naming conventions to reliably identify dependencies
  • Client can connect to a different Server technology with 1 file change
  • Narrow Client/Server interface consisting of only 2 extensible functions, implements OCP
  • Knockout binding helper to keep jQueryMobile listview refreshed, separates View concerns from ViewModel
  • Facade pattern for improved Pubsub traffic logging
  • Facade pattern for intuitive localStorage interface
  • Facade pattern for logging to console if config.isTest
  • Enterprise ready starter project, easy to customize or build upon
  • Free license, anybody can use and contribute

Todo

  • Security - Oath
  • Social - Implement Hackbook as AMD module
  • Improve validation
  • Improve UI
  • Demonstrate Client to Client PM feature
  • Demonstrate Phonegap API around a device feature, probaby camera, so implement chat room picture feature
  • More unit testing

See the full TODO.md checked into the github project

About

SOLID MVVM AMD Real Time jQueryMobile SPA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages