mimecorg / vuido

Native desktop applications using Vue.js.
https://vuido.mimec.org/
MIT License
6.11k stars 231 forks source link

How to create desktop app? #4

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hi, I'm looking for info about creating desktop apps (windows exe/osx app) Is this not working yet?

mimecorg commented 6 years ago

This isn't implemented yet, but I'm planning to do that. For now, you have to run the application by running Node with the path to your script and an argument. You can create a script which does that or, on Windows, you can create a shortut to node.exe with arguments.

ghost commented 6 years ago

Thanks Michal, If I wanted to distribute a windows app w/installer (innosetup), I guess I could include node.exe - does that seem feasible?

On Sun, May 20, 2018 at 3:49 PM Michał Męciński notifications@github.com wrote:

This isn't implemented yet, but I'm planning to do that. For now, you have to run the application by running Node with the path to your script and an argument. You can create a script which does that or, on Windows, you can create a shortut to node.exe with arguments.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mimecorg/vuido/issues/4#issuecomment-390464098, or mute the thread https://github.com/notifications/unsubscribe-auth/AA1afHxiXZQMiwmga3_8H18Fba8hFzRHks5t0R__gaJpZM4UF9rD .

ghost commented 6 years ago

if you want to distribute a Windows app, for now use proton-native or electron because this project isn't stable right now and doesn't have that many features

ghost commented 6 years ago

Hmm, Proton-native doesn't package windows apps yet either. I'm stuck with electron for now I guess.

On Sun, May 20, 2018 at 4:11 PM vieru notifications@github.com wrote:

if you want to distribute a Windows app, for now use proton-native or electron because this project isn't stable right now and doesn't have that many features

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mimecorg/vuido/issues/4#issuecomment-390465107, or mute the thread https://github.com/notifications/unsubscribe-auth/AA1afMrGwdRkenrvuIy2xgKPLWtCP-Hzks5t0SU8gaJpZM4UF9rD .

ghost commented 6 years ago

use electron-vue it has all the things you need

mimecorg commented 6 years ago

It's true, Vuido currently is work in progress, I have to implement the most important remaining controls first. But I'm planning to create a solution to package Vuido apps as seamlessly as possible.

The idea is to create a wrapper executable which will links Node as a shared library and will automatically run the script in the app subdirectory, pretty much like Electron does.

ghost commented 6 years ago

Ok that sounds great. To clarify my earlier comment about Electron, I think Electron is great - it's just the size of the packaged installer that I have an issue with and I was hoping this project might be a way to address that. A 60M "Hello world" is just hard to get behind for me.

On Sun, May 20, 2018 at 4:19 PM Michał Męciński notifications@github.com wrote:

It's true, Vuido currently is work in progress, I have to implement the most important remaining controls first. But I'm planning to create a solution to package Vuido apps as seamlessly as possible.

The idea is to create a wrapper executable which will links Node as a shared library and will automatically run the script in the app subdirectory, pretty much like Electron does.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mimecorg/vuido/issues/4#issuecomment-390465426, or mute the thread https://github.com/notifications/unsubscribe-auth/AA1afN6sxNl1cfGghaDD9y6NtVWvhzLLks5t0ScBgaJpZM4UF9rD .

mimecorg commented 6 years ago

I agree completely, reducing the size of the package is the main motivation behind this project.

TheJaredWilcurt commented 6 years ago

@monkeysuffrage

http://nwjs.io

Pros of Electron:

Cons of Electron:

Cons of NW.js

Pros of NW.js

If you are looking for a production ready option today, NW.js or Electron are you best options, depending on if you value better technology or better ecosystem.

I look forward to Libui-Node becoming a viable 3rd option.

Here is a tutorial for getting started with NW.js:

and here is a simple Vue starter for NW.js with a bunch of tips around how to optimize for Desktop instead of Web:

loilo commented 6 years ago

I agree completely, reducing the size of the package is the main motivation behind this project.

Just to clarify this: executables created with Vuido (just like with pkg) would still have to include a copy of Node.js, right? So the simplest app would still hardly drop below 20 MB.

mimecorg commented 6 years ago

Yes, of course Node.js is required, but 20 MB is still much better than the size of Electron.

TheJaredWilcurt commented 6 years ago

Depending on OS and configuration

Not ground shaking, but a noticeable improvement.

mimecorg commented 6 years ago

I recently released the first version of LaunchUI which makes it easier to package and distribute applications using Vuido and libui-node in general. The package size is about 22 MB in case of the Windows 32-bit version.

ghost commented 6 years ago

That looks interesting but I don't understand the instructions. Where does the launchui.download code go? It feels like I'm supposed to do something in package.json but I can't guess what. Maybe you could make a hello world app?

On Thu, May 31, 2018 at 9:12 PM Michał Męciński notifications@github.com wrote:

I recently released the first version of LaunchUI https://github.com/mimecorg/launchui which makes it easier to package and distribute applications using Vuido and libui-node in general. The package size is about 22 MB in case of the Windows 32-bit version.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mimecorg/vuido/issues/4#issuecomment-393525375, or mute the thread https://github.com/notifications/unsubscribe-auth/AA1afJdZoFO3fTlt6GrhC-ZeiVbFa6F5ks5t3-xXgaJpZM4UF9rD .

mimecorg commented 6 years ago

You can use the LaunchUI Packager API to automatically create a package, but you will need to write a little script to do that. You can then add the script to package.json. I'm planning to add command line support to LaunchUI Packager to make this easier.

Alternatively, you can manually download LaunchUI form the Releases and replace the app/main.js script. It's described in the documentation.

ghost commented 6 years ago

Sorry, I'm not clear on what I need to do to make npm run download work. I save the script as 'download.js'? and then what?

On Thu, May 31, 2018 at 10:08 PM Michał Męciński notifications@github.com wrote:

You can use the LaunchUI Packager https://github.com/mimecorg/launchui-packager API to automatically create a package, but you will need to write a little script to do that. You can then add the script to package.json. I'm planning to add command line support to LaunchUI Packager to make this easier.

Alternatively, you can manually download LaunchUI form the Releases https://github.com/mimecorg/launchui/releases and replace the app/main.js script. It's described in the documentation.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mimecorg/vuido/issues/4#issuecomment-393542378, or mute the thread https://github.com/notifications/unsubscribe-auth/AA1afPhIiECy6dgxqUd_bEvo4EkPgQvdks5t3_l2gaJpZM4UF9rD .

mimecorg commented 6 years ago

You don't need to run npm run download unless you intend to build LaunchUI from sources.