GithubHelp home page GithubHelp logo

kjellski / xulapp-starterkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from racklin/xulapp-starterkit

0.0 2.0 0.0 1.2 MB

XULApp StarterKit is a generic framework for XULRunner applications, like [Rich Client Platform](http://en.wikipedia.org/wiki/Rich_client_platform) .

License: Other

JavaScript 15.86% CSS 0.04% Shell 2.51% Perl 5.08% C++ 46.83% C 2.21% Objective-C 0.09% NSIS 27.39%

xulapp-starterkit's Introduction

XULApp StarterKit

XULApp StarterKit is a generic framework for XULRunner applications, like Rich Client Platform .

It provides the "plumbing" that, before, every developer had to write themselves—saving state, connecting actions to menu items, toolbar items and keyboard shortcuts; window management, add-ons mechanism, update mechanism and so on.

XULApp StarterKit provides a reliable and flexible application architecture. An architecture that encourages sustainable development practices. Because the XULApp StarterKit architecture is modular, it's easy to create applications that are ro bust and extensible.

Included in the distribution package:

  • A minimal XUL application with a main skeleton window and an about dialog
  • Auto-load Modules by Preferences System.
  • Integrated GREUtils .
  • Integrated lodash .
  • A bundled HTTP server For HTML5 application or IPC.
  • XULRunner 18 (Gecko 18)

XULApp StarterKit Build Scripts

XULApp StarterKit include a collection of build scripts for packaging a XULRunner Application into distributable bundles for Mac, Windows, and Linux.

Build Scripts is based on Zotero Standalone build utility.

Benefits

  • Main skeleton window contains configurable Menubar , Toolbar , StatusBar.
  • Latest HTML5 support (Same as Firefox 18, and easy to use new Gecko versions as they are released)
  • Plugin support (Firefox plug-ins and extensions may be bundled with the application)
  • Application Updates
  • Not only acting as a native desktop application, it is a native desktop application
  • Working on the most widely used desktop operating systems, as well as 32- and 64-bit Linux (Wherever Firefox 18 runs, this runs)
  • Installable from USB Stick / CD, Offline
  • Offline usage
  • Proven and well tested (indirectly through projects like Firefox)
  • Not dependent on third party services for packaging and/or distribution
  • I18n / L10n
  • Auto-load Modules from XPCOM Service. All Modules will load once when startup.
  • Registrable modules from preferences system, you can install modules by add-ons.

Download Pre-build Binary

Download Pre-build XULApp Starterkit.

Build XULApp StarterKit (Optional)

Build your own branding XULApp StarterKit

  1. Fork this project and checkout.
  2. Change BUILD_MAC / BUILD_LINUX / BUILD_WIN32 variables in config.sh to setting operating systems you want to build.
  3. Change Profile variable in config.sh to specifies the path to use for the application's profile. XUL Application Packaging
  4. Customize branding and metadata to your liking.
  5. run fetch_xulrunner.sh to downloading xulrunner runtime from ftp.mozilla.org.[ONLY ONCE]
  6. run build.sh

Make your own application in XULApp StarterKit Project

app/ directory contains standard XULRunner application structure.

  1. Put your application files in app/ directory and modify app/chrome/content/xulapp/xulapp.xul main window.
  2. Build XULApp StarterKit.

Make your own application as First Add-on (Recommended)

Download pre-built XULApp StarterKit (or your own build) and make your application as add-on and install to XULApp StarterKit. This will make your application more flexible.

How to install Add-ons

Launch XULApp StarterKit and install add-on with 'Tools'->'Add-ons Manager'.

Detail: How to install Add-ons wiki.

HTML5, CSS3 and JavaScript

Don't need to learn XUL or XULRunner. XULApp StarterKit help you for creating beautiful desktop apps using your web development skills.

How-to

  1. Download pre-built XULApp StarterKit
  2. Download sample application for XULApp StarterKit
  3. Launch XULApp StarterKit and install add-on with 'Add-ons Manager'.

Sample Application Add-ons For XULApp StarterKit:

  • HTML5 Webapp Wrapper.
    • Wrap and Packaging your HTML5 Web Application to XPI add-on.
    • PhoneGap Like.
  • TodoMVC.
    • Trying Backbone, Ember, AngularJS, Spine... the list of new and stable solutions on XULApp StarterKit.
    • Helping you select an MV* framework.
  • XUL Periodic Table.
    • XUL Tutorial
  • Hello-Demo
    • This demos show you how add-on can help you make your application more flexiable and more concise and updatable.

Useful Add-ons For XULApp StarterKit

Auto-Load Modules

Register Your Modules in prefs.js , XULApp StarterKit Will auto-load when startup. All Modules 's variables will in XULApp scope.

Register Notication Modules Example

In prefs.js Add:

pref("xulapp.modules.notification", "chrome://xulapp/content/modules/notification.js");

Now, You can using Notication Service from any pages.

var Notification = XULApp.Notification;
Notification.showNotication('Title', 'Text');

Tips

Generating icons

Use http://iconverticons.com/ to generate app icons for all platforms. Put your source image in icons/default/source folder and the gener ated images in the icons/default folder.

License

XULApp StarterKit are licensed under the MPL License. See LICENSE for more details.

xulapp-starterkit's People

Contributors

racklin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.