Skip to content

An unified framework for building modern html5 applications across web and desktop.

License

Notifications You must be signed in to change notification settings

skylarkjs/skylark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.