GithubHelp home page GithubHelp logo

sahwar / wiish Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iffy/wiish

0.0 3.0 0.0 8.65 MB

Why Is It So Hard (to make a cross-platform app)?

License: MIT License

Shell 5.09% Nim 1.04% Makefile 0.44% CMake 1.04% HTML 0.04% C 81.10% M4 0.58% Java 1.55% Batchfile 0.01% PowerShell 0.10% Roff 0.02% C++ 4.05% Objective-C 4.72% Perl 0.16% Python 0.02% Metal 0.03%

wiish's Introduction

Build Status Windows build status

Docs | Changelog

Wiish (Why Is It So Hard) GUI framework might one day make it easy to develop, package and deploy auto-updating, cross-platform applications for desktop and mobile. If it succeeds, maybe the name will have to change :)

Wiish is currently ALPHA quality software. Don't make anything with it unless you're willing to rewrite it when this package changes.

Quickstart

  1. Install Nim and nimble

  2. Install Wiish:

    nimble install https://github.com/iffy/wiish.git
    
  3. Install other dependencies:

    • Android SDK and Android NDK for Android apps
    • Ubuntu: apt-get install libsdl2-dev libsdl2-ttf-dev libgtk-3-dev libwebkit2gtk-4.0-dev
    • macOS: no other deps
    • Windows: no other deps (maybe?)
  4. Create a project and run it:

    wiish init somedir
    cd somedir
    wiish run
    

See wiish --help for how to build executables and apps. For example:

wiish run --ios
wiish run --android
wiish build
wiish init --base-template opengl my_opengl_app

Features

Wiish provides 2 main things:

  1. wiish - A command line tool for running, building and packaging apps.
  2. wiishpkg - A Nim library for making apps. This is further divided into:
    • wiishpkg/webview_desktop - Library for making Webview-based desktop apps.
    • wiishpkg/webview_mobile - Library for making Webview-based mobile apps.
    • wiishpkg/sdlapp - Library for making SDL and/or OpenGL apps (both desktop and mobile).

The GUI component is designed to work separately from other features (e.g. auto-updating, packaging, etc...) so that different GUI libraries can be swapped in/out.

Here is what's currently supported:

Library

Feature Windows macOS Linux iOS Android
wiish run Y Y Y Y
wiish build Y Y Y
wiish package
Code signing
Log to file Y
Log to console w/ run Y Y Y Y
Package resources Y Y Y
Menu bar - -
Automatic updates - -
App icon Y Y Y
File associations - -

GUI

Feature Windows macOS Linux iOS Android
OpenGL Y Y Y Y
SDL2 Y Y Y
Webview Y Y Y Y

Y = complete, - = not applicable

Examples

See the examples directory for more examples of how to use this library. You can also initialize a project using these examples with wiish init. See wiish init --help for information.

Developing wiish

See CONTRIBUTING.md for information about contributing to Wiish development.

wiish's People

Contributors

iffy avatar mrhdias avatar

Watchers

 avatar  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.