Neurotoxin Powered Marketing

    @fuse-open/uno

    2.0.1 • Public • Published

    Uno/UX compiler

    AppVeyor build status Travis CI build status NPM package License: MIT Slack Financial Contributors on Open Collective

    Target platforms Host platforms

    Extremely fast, native C#-dialect and powerful tooling for mobile and desktop developers.

    Welcome to Uno, the core component in Fuse Open, a native app development tool suite.

    Install

    $ npm install @fuse-open/uno
    

    This will install the uno command and standard library.

    Related packages

    Introduction

    Uno is a collection of compiler and platform abstraction technologies.

    Uno is used on Linux, macOS and Windows, and makes native apps for the following platforms:

    Platform Build targets
    Android android, android-emu
    iOS ios, ios-sim
    Linux native, dotnet
    macOS native, dotnet
    Windows native, dotnet

    Uno syntax

    class App : Uno.Application
    {
        public App()
        {
            debug_log "Hello, world!";
        }
    }

    The Uno programming language is a fast, native dialect of C# that can cross-compile to any native platform (in theory), by emitting portable C++17 for mobile or desktop platforms, or CIL bytecode for desktop platforms (Mono/.NET) — designed for developing high-performance UI-engines, platform abstractions or integrations, and other kinds of software traditionally required written in native C/C++.

    Access all APIs and features on the target platforms directly in Uno — add a snippet of foreign code, and our compiler automatically generates the glue necessary to interoperate (two-way) with a foreign language. The following foreign languages are supported:

    Run-time features

    • Memory in Uno is managed semi-automatically by automatic reference counting, avoiding unpredictable GC stalls.
    • Real generics – sharing the same compiled code in all generic type instantiations, without boxing values, and with full run-time type system support – avoiding exploding code-size and compile-times (while still being fast).
    • (Opt-in) reflection on all platforms – to dynamically create objects and invoke methods based on type information only known at run-time – enabling high-level Fuse features such as live-previewing UX documents.

    Please see our documentation for information about building apps.

    Build Instructions

    Uno is built using the command-line on Linux, macOS or Windows – or from inside an IDE.

    make
    make install
    uno --version
    

    Please see the build instructions for details on how to build the source code.

    Configuration

    Please see the configuration reference documentation for details on how to set up uno's configuration files for your build-environment.

    Command Line Reference

    Please see the command-line reference documentation for details on how to use uno's command-line interface.

    Contributing

    Please see CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.

    Reporting issues

    Please report issues here.

    Contributors

    Code Contributors

    This project exists thanks to all the people who contribute. [Contribute]

    Financial Contributors

    Become a financial contributor and help us sustain our community. [Contribute]

    Individuals

    Organizations

    Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

    Install

    npm i @fuse-open/uno

    DownloadsWeekly Downloads

    38

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    8.06 MB

    Total Files

    721

    Last publish

    Collaborators

    • mortend