SPAllinsonJS
v1.4.2
Description
MVC JS framework for building SPAs
Features
Routing
Easily manage the loading of content into divs
History
SPAllinsonJS tracks history allowing for functional prev/next browser buttons, and page reloading
Deeplinking
Deeplink into any part of your application (e.g. from an email to your download page)
Bookmarking
Allow users to bookmark the page (route) they are on
Services & Singletons
Create reusable Services and Singletons
Note
Pass messages (w/ optional data) around between Controllers within your application
Data Binding (One-Way)
Bind data from your Components' models to their Views
Data Rebinding
Manually rebind bound data (whenever you know the model has changed)
Repaint
Manually update a Component's View (whenever you know the model has changed)
Component
Inject an entire Component into a View
Repeat
Repeat a Component over an array of data
Eval
Perform eval() within your View
AJAX
Easily perform, handle and cancel HTTP Requests (with optional caching)
Locale
Specify language specific content using key/values
Testing
Unit test your app using SPAllinsonJS-v1.4.2--test.min.js
Splash Screen
Initial loading page presented to the user upon launch
Preloading
While the Splash Screen is being displayed, have SPAllinsonJS preload specific Components (i.e. their associated html, css, images and js)
Offline
Your app can work offline forever after just one initial Splash Screen load
Debug Console
Debugging made a lot easier
Garbage Collection
SPAllinsonJS is very memory oriented, keeping only what it needs in at any one time!
Browser Support
Vast!
Bundling
Support for JS and CSS bundles to help reduce server calls, and segment your app as you choose
Plugins
Alert
Display page level messages to the user
Lightbox
Load any content into this full page fading div with transparent background
Storage
Temporarily and Permanently store and retrieve data (key/values)
Revision History
v1.4.2
-
Major improvements to routing sequencing
-
Fade in/out speed now customizable via A.Settings.fadeSpeedMills
v1.4.1
- Apps now testable using
SPAllinsonJS-v1.4.1--test.min.js
v1.4.0
-
BREAKING: RouteRules condition now takes a function that return a bool
-
BREAKING: A.Ajax now has methods: request, get, post, put, delete and patch
-
BREAKING: A.Repaint, A.Repeat, A.Append, A.Rebind and A.Component all now take a component instance (i.e. self instead of self.me)
-
BREAKING: A.Note now takes a component instance and a function (i.e. self instead of self.me, and self.methodName instead of 'methodName')
-
BREAKING: A.MemoryManagement interface change
-
BREAKING: Components are automatically init'd with
me
andmodel
properties -
BREAKING: Component lifecycle methods are now
init
,viewDidAppear
anddealloc
-
Major performance enhancements
-
Component lifecycle methods are now optional
-
A.Settings.components['ComponentName'].view can now take a function that returns a string
-
Many A.Settings keys are now optional
-
Debug Console Ui and performance enhancements
v1.3.4
-
A.Ajax now errors out upon a 500
-
Repeat over empty array now clears container
-
Complex Go/Repaint cycles (MVVM) bugfixes
-
_A_Content reverted back to
position: absolute
which fixes'fade'
for'app'
v1.3.3
- Repaint bugfixes
v1.3.2
- Preload bugfix
v1.3.1
v1.3.0
-
BREAKING: A.loadScript() removed, use A.MemoryManagement.loadScript()
-
BREAKING: A.currentRoute removed, use A.Routing.currentRoute
-
Support for Query String
-
A.Router.currentQueryString
-
Revised core CSS to be less restrictive
-
Bugfix for displaying 0 using [B: ]
v1.2.5
-
Added A.Repaint allowing full view updating
-
Added A.Settings.fallbackRoute to handle "route not found"
-
[L: ] no longer wraps value in tag
-
A.Append bugfix (child Components are no longer destroyed)
-
A.loadScript() deprecated (use A.MemoryManagement.loadScript() instead)
-
A.currentRoute deprecated (to be replaced with A.Routing.currentRoute in v1.3.0)
-
Performance enhancements
v1.2.4
-
Memory Management and Script Management updated to allow for JS Bundles!
-
A.Settings.splash now optional
v1.2.3
-
A.Settings.routeRules added
-
Debug Console added to --debug release
-
Logging removed
-
Enhanced error handling
v1.2.2
- Added back [E: ] which was removed just before v1.0.0
v1.2.1
-
Bugfixes around null/dne data being passed into [B: ], [R: ] & [C: ]
-
Callbacks of Repeat, Append & Component fixed to be optional
v1.2.0
-
BREAKING: Moved and changed A.Settings.appDoesFadeIn to A.Settings.splash.doesFadeOut
-
Completion handling added to A.Go(), A.Repeat() & A.Append()
-
Debug build "SPAllinsonJS-v1.2.0--debug.min.js" (which enables logging) included in release
-
A.AJAX caching bugfixes
-
Added A.unloadScript(url) util
-
Enhanced error handling
-
Enhanced performance
-
Enhanced logging
v1.1.0
-
[C:] "Component" ... allows injecting of an entire Component into a container in a view
-
Locale now a SPAllinsonJS core feature
-
Enhancement to A.Ajax ... it now returns the requestObject allowing cancelling of requests
-
Enhancement to A.Ajax ... revisions to what success and error returns
-
Enhancement to A.Ajax ... revisions to what error codes return success and error
-
Fixed memory leak during dealloc'ing [C: ] & [R: ] created components
-
Fixed history issue related to [C: ] & [R: ] created components
SPAllinsonJS Documentation
Example Apps
Docs
All documentation can be found on the official site: www.spallinsonjs.com
Copyright
All content © Chris J. Allinson 1996 - Present. All rights reserved.