GithubHelp home page GithubHelp logo

ichan-mb / uno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fuse-open/uno

0.0 2.0 0.0 34.75 MB

Uno compiler, core libs and tools

Home Page: https://fuseopen.com

License: MIT License

Makefile 0.01% Shell 0.18% JavaScript 0.02% Uno 40.51% C++ 7.24% Java 0.99% C# 50.19% Objective-C 0.09% Objective-C++ 0.34% C 0.07% Python 0.21% CMake 0.07% Batchfile 0.05% Ruby 0.01% PowerShell 0.02% Swift 0.01%

uno's Introduction

Uno/UX compiler

AppVeyor build status NPM package NPM beta 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.

Beta releases

We are currently working on beta-3.0. Releases made from this branch are tagged @beta on NPM.

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]

uno's People

Contributors

mortend avatar kusma avatar ichan-mb avatar andreweq avatar marek-safar avatar mkrueger avatar alanmcgovern avatar beewarloc avatar devadiab avatar tritao avatar ckarmy avatar knocte avatar atsushieno avatar migueldeicaza avatar mohammedmanssour avatar vargaz avatar dependabot[bot] avatar

Watchers

James Cloos 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.