# Durandaldemo **Repository Path**: abccc123/durandaldemo ## Basic Information - **Project Name**: Durandaldemo - **Description**: No description available - **Primary Language**: JavaScript - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-24 - **Last Updated**: 2022-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  Durandal is a cross-device, cross-platform client framework written in JavaScript and designed to make Single Page Applications (SPAs) easy to create and maintain. We've used it to build apps for PC, Mac, Linux, iOS and Android...and now it's your turn... [](https://travis-ci.org/BlueSpire/Durandal) ## Features * Clean MV* Architecture * JS & HTML Modularity * Simple App Lifecycle * Eventing, Modals, Message Boxes, etc. * Navigation & Screen State Management * Consistent Async Programming w/ Promises * App Bundling and Optimization * Use any Backend Technology * Built on top of [jQuery](http://jquery.com/), [Knockout](http://knockoutjs.com/) & [RequireJS](http://requirejs.org/). * Integrates with popular CSS libraries such as [Bootstrap](http://getbootstrap.com/) and [Foundation](http://foundation.zurb.com/). * Make your own templatable and data-bindable widgets. * Fully Testable ### Combined Lifecycle http://durandaljs.com/documentation/Hooking-Lifecycle-Callbacks.html
| Callback | Lifecycle | Purpose |
|---|---|---|
getView() and viewUrl |
Composition | Enables the new object to return a custom view. |
canDeactivate() |
Activator | Allows the previous object to cancel deactivation. |
canActivate() |
Activator | Allows the new object to cancel activation. |
deactivate() |
Activator | Allows the previous object to execute custom deactivation logic. |
activate() |
Composition & Activator | Allows the new object to execute custom activation logic. |
binding() |
Composition | Notifies the new object immediately before databinding occurs. |
bindingComplete() |
Composition | Notifies the new object immediately after databinding occurs. |
attached() |
Composition | Notifies the new object when its view is attached to its parent DOM node. |
compositionComplete() |
Composition | Notifies the new object when the composition it participates in is complete. |
detached() |
Composition | Notifies a composed object when its view is removed from the DOM. |