An unified framework for building modern html5 applications across web and desktop.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
bin
examples
runtime
tools
.gitignore
LICENSE
README.md
build.sh
package.json

README.md

skylark.js

An unified framework for building modern html5 applications across web and desktop. http://www.skylarkjs.org

Introduction

Skylark.js is an unified framework for building modern html5 applications across web and desktop, including the runtime library and many development tools.

summary

  • Concise
    Skylark.js framework is very simple and powerful, the code is only 7k (core library,gzip) or 22k (including a powerful utility library), and easy to read and easy to debug.
  • Anywhere
    Skyalrk.js application is archived a single .slax file. The slax archive can be deployed to web server, and you can also run it directly on the local desktop.
  • Integratable
    Skylark.js core framework focus functional structure of an application, easy to integrate with jquery, backbone, vue, react and other popular UI framework.
  • Unified
    Skylark.js is easy to unify other framework resources. Using skylark-jquery, jquery plugins and applications can run directly on skylarkjs without jquery.
    In addition, there are skylark-backbone, skylark-vue (in developping) and so on.
  • Configable
    All constituent elements of the application (such as paths, plugins, dependents, and so on) are configed in slax-config.json file.
  • Modular
    Highly modular with very little opinion of how things should be done, removing bloat and unecessary overhead.

browser compatibility

Skylark.js supports all browsers that are ES5-compliant (IE8 and below are not supported).

Ecosystem

Project Description Integration
skylark-langx   javaScript language extension library built-in on skylarkjs runtime
skylark-router   frontend routing framework built-in on skylarkjs runtime
skylark-spa   html5 single page application framework built-in on skylarkjs runtime
skylark-utils   javascript dom utility library built-in on skylarkjs runtime(full build version)
skylark-slax-browser official desktop browser for running skylark slax application built-in on skylarkjs development tools
skylark-slax-nodeserver official node server for running the skylark slax application built-in on skylarkjs development tools
skylark-jquery an extension library fully compatible with jquery api optional, installed by the developer as needed
skylark-backbone an extension library fully compatible with backbone api optional, installed by the developer as needed

Runtime

architecture

architecture

different builds

build Description
full skylarkjs.js included skylark-utils
core skylarkjs-core.js not included skylark-utils
full (development) uncompressed/skylarkjs.js included skylark-utils
core (development) uncompressed/skylarkjs-core.js not included skylark-utils

installation

There are multiple ways to install the skylark-router library.

usage

  • Using the skylarkjs library for a AMD module.
<script type="text/javascript" 
            src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.3/require.min.js"
            data-main="http://registry.skylarkjs.org/packages/skylarkjs/v0.9.3/uncompressed/skylarkjs.js">
</script>
<script>
  require(["skylarkjs"],funciton(skylarkjs){
  skylarkjs.xxx();
  });
</script>

Developping

installation

Skylark.js sdk is released as npm package, so first make sure the nodejs and npm have been installed.

npm install skylarkjs -g

China:

ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ npm install skylarkjs -g --verbose

quick start

  • enter into the workspace root directory
  • create skylark slax application skeleton
sjs create slaxApp1 --routes home:/,view1:/view1,view2:/view2
  • build application
npm run build
  • deploy application
npm run deploy
  • run the application as desktop application
npm run browse

desktopapp

  • start server to run the slax application
npm run serve

webapp

Documentation

Stay In Touch

Bugs and feature requests

Have a bug or a feature request? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

License

The code is released under the MIT License.