Giter Club home page Giter Club logo

appify-ui's Introduction

Appify UI

Create Mac apps.
Use HTML5 for the UI.
Script it with anything.
Can not possibly be simpler. This is dumb and bad and old. You should not use this.

But after a decade or so, I still use this thing and it works great for me.

New in 2023: Appify-AI (work in progress)

Appify-AI is a new Appify-UI demo that uses GPT-3.5 or GPT-4 to mutate itself while you use it. It's pretty hip.


What is this?

A Mac app is essentially just an executable file in a folder along with a config file. That's all that is required.

An Appify UI app is

  1. A folder structure
    • That conforms to the Cocoa Application Bundle standard
  2. A config file
  3. A shell script
  4. A compiled binary
    • To load the interface
  5. An interface
    • A compiled nib file with a single WebKit WebView
  6. A url

Appify UI.app

A shell script that accepts arguments from an HTML form.

It creates a new Appify UI app on your Desktop with the configuration you provide.

The UI could be a lot better. Pull requests eagerly accepted.

Appify UI Node Demo.app

Instead of just a bash script, this uses node.js.
If node is not found, it quits and opens the node.js download page in your default web browser.
Before launching the webview, it starts up an http server.
When the app is closed, it closes the http server.

To create your own node.js based Mac app...

  1. Duplicate Appify UI Node Demo.app and give it whatever name you like
    • e.g. My Awesome App.app
  2. Edit My Awesome App.app/Contents/Info.plist
    • Each app needs a unique CFBundleIdentifier or else Bad Things may happen
  3. Replace the folder My Awesome App.app/Contents/Resources/app with your own node.js app
  4. Make sure that My Awesome App.app/Contents/Resources/app/server.js exports something with a listen method

How to package a Node.js Mac app for distribution

You could send it around as-is. By default it'll open their web browser and prompt them to install node.js if it's not already installed.

You could probly also package the node binary in the app. I haven't tried this, so please update this README once you do.

How to modify the nib and cocoa binary

The current version uses a heavily modified version of Apache Callback Mac (formerly PhoneGap-mac / MacGap). It's about as simple as you can get.

I may update this section later.

Similar Projects

https://github.com/maccman/macgap is probably what you should be using.

https://github.com/rogerwang/node-webkit is awesome, but large.

https://github.com/sveinbjornt/Platypus makes an app from terminal script, wraps it's output in the GUI window, handles CMD+Q etc

appify-ui's People

Contributors

designerfuzzi avatar falcn avatar fendent avatar subtlegradient avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

appify-ui's Issues

Window opens in weird position and size

Hey Thomas,

Thank you so much for Appify-UI! I am much enjoying playing with it, and starting to design some great apps built on it. However, I have an issue. The main UI window opens in a sort of "non-standard" position and size, like on the bottom-left corner of my screen, and at a size I do not want. I know I can use JavaScript to resize and reposition the window, but that is very "jerky", as the window appears to "jump" to the new location after it has already opened. This isn't a great user experience.

My question is, can you simply launch the app with the window initially hidden, and then show it once the DOM finishes loading? That would solve all my problems I think.

Or, is there any way for me to configure the initial position and size of the window, possibly with command-line arguments or Info.plist changes?

Thanks again for a great framework!

  • Joe

2 question

Thanks for the work!
My question is would it be possible for the application to leave the dock when I close it?
Also it would be possible to go back on my links because as soon as I go on a ghithub link I have to leave my app

This is my app
Github Blog.zip

Modular Image Creation

do you please take a look on it
thanks

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.