Új hozzászólás Aktív témák

  • F34R

    nagyúr

    OS.js (JavaScript Operating System)

    Os.js — JavaScript Operating System

    A NOTE: Yes — I know this does NOT fully quallify as an operating system. This is really just a hobby project of mine and this is the name I chose.

    ANOTHER NOTE: Yes — I’m going to change the name of this project. Suggestions are welcome!
    Simple introduction:

    OS.js started out as a tool to use on my home server so i could run GUI applications to configure services without installing X and a window manager (including VNC or similar remote management) and connect from anywhere in the world just using a web-browser. But lately I’ve also found some other uses for it, mainly HTML5 application development.

    Includes a window manager and a simple desktop environment (similar to most Linux envs out there). Standards are inspired by GTK and freedesktop.org.

    Applications are developed using Glade Interface Designer (GTK+3 XML) and (optionally) an SQL database XML-scheme.

    A built-in compiler creates JavaScript, CSS, SQL and PHP templates from the projects including support for events (signals). One can also create static applications from raw HTML, JS and CSS.

    A Virtual Filesystem(VFS) is included. It works with local files, block devices, network connections, compressed files etc.

    Applications uses a public API that consists of simple OS operations and calls to the application server-side script and the core libraries (File-system (with restrictions), Networking, Services, Configuration files etc.).

    OS.js’ code-base is light-weight and small in size.
    JavaScript: < 300kb (minimized, including applications etc.)
    CSS: < 200 kb (minimized, including applications etc.)
    XML: < 300 kb (including applications etc.)
    PHP: < 200 kb
    Performance:

    It performs very well on my computer.

    I can have at least 20 applications running simultaneously (including canvas, video and audio contexts) when using Chrome/Chromium 14+ in full-screen.

    It also works well on mobile devices (thought there are some problems with input), but there has not been made any optimizations for these devices yet (desktop and window sizes, interaction and multitasking features)
    Sources, Live-Site and more information:

    The current version is a BETA, so there are bugs, missing features etc.

    Running example: http://OSjs.0o.no (TCP/IP Wrapper is disabled due to Firewall restrictions). A very special thanks to the awesome team over at Host1 for the Server.

    Sources: Stored on Github (Private for now, but it will become Public. If you want to collaborate or look at the sources, send me an e-mail).

    News and updates: Check out OS.js Google+ page.

    Facebook Page: Located Here.

    Video of OS.js in action: YouTube (direct link)

    Bug reporting: Report them to andersevenrud@gmail.com or create a issue on Github (Collaboration access required here, sorry [see the sources remark above])
    Dependencies:
    Linux or Unix like operating system (VFS is not wokring in Windows –under development)
    Apache 2+ web-server
    PHP 5.3+ with support for JSON, MySQL, XML, XSL, Socket, Date and Calendar
    MySQL 5+
    Vendor libraries used:
    jQuery
    JSON2 by Douglas Crockford
    Sprintf by Alexandru Marasteanu
    Yahoo YUI Compressor
    Propel ORM (Core and Application database access)
    The JavaScript libraries are currently being replaced by custom written ones.
    Features:
    Follows strict coding standards, fully documented
    Uses HTML5 and CSS2+ features (Supported features are detected on first run.)
    Uses a light-weight PHP backend
    Simple process managment (process stack, kill processes etc)
    Desktop environment (Customizable settings, themes, fonts, cursors etc)
    Window Managment (With standard window actions like maximize, minimize, restore, on-top and so on)
    Session Managment (Save and restore sessions for later use)
    Desktop Panels (movable)
    Desktop Panel items (See list below)
    Sandboxed Applications with API access and crash-handling
    Uses WebStorage to store system/user/application settings and sessions (SQL as backup in case of deletion of browser cache)
    TCP/IP Socket connections via WebSocket wrapper (hybi-00 and hybi-10)
    Application Compiler (Compiles Application+Glade-XML into JavaScript, CSS and PHP code, also minifies the code)
    VFS – Virtual Filesystem support (Block devices, Network connections, Compressed files etc.)
    Application WebWorkers for faster processing of complex data
    Compability:
    Working: Linux with WebKit/Safari/Chrome, Gecko/Mozilla/Firefox (Safari has some minor CSS issues)
    Wokring: Google Android 2.2 (Samsung Galaxy S tested 2.2/2.3)
    Wokring: Apple iOS 4 (iPad iOS4 tested)
    Probably working: Windows with WebKit/Safari/Chrome, Gecko/Mozilla/Firefox (Safari has some minor CSS issues)
    Partially working: Opera 10+ – Problem with Glade/GTK CSS
    Partially working: Internet Explorer 8 – Problem with Glade/GTK CSS, Missing WebSocket and Canvas
    Not tested: Internet Explorer 9
    Built-In Applications, Dialogs and Panel Items:
    Application: Clock (HTML5-SVG, CSS2)
    Application: Draw (HTML5-Canvas)
    Application: Movie Player (HTML5-Video)
    Application: Music Player (HTML5-Audio)
    Application: File Manager
    Application: Terminal
    Application: Textpad
    Application: Image Viewer
    Application: Tick-tack-toe game
    Application: Arkanoid game (HTML5-Canvas)
    Application: HTML Browser/Viewer
    Application: PDF Viewer
    System: About
    System: User Information
    System: Settings
    System: Logout
    System: Process Information
    Panel Item: Menu
    Panel Item: Separator
    Panel Item: Window List
    Panel Item: Weather Information (HTML5-Geolocation)
    Panel Item: Launcher Dock
    Panel Item: Clock
    Dialog: Color Picker
    Dialog: File Copy, Upload (via HTML5)
    Dialog: File Open, Save, Rename
    Dialog: Lauch Application
    Dialog: Modify Panel/PanelItem
    Dialog: Input-box

Új hozzászólás Aktív témák