Building a Desktop App with Vue: Vuido

Natalia Tepluhina on September 03, 2018

Update: Building Vue desktop app with Electron I love Vue. It's a great framework allowing you to build awesome web applications. But the real ... [Read Full]
markdown guide

Superb introduction to Vuido. Just a heads up, if your are copy/pasting the code into your application, there is a missing } on the following line:


It should be


You could also declare a variable for your API key so it would be easier to import from env variables:

const apiKey = process.env.API_KEY;


Thanks for spotting this and for the advice! Fixed ;)


Thank you for this article. If possible, I would like to translate this article and share it with Korean developers, can I translate it?


this is the korean translation! :D

Many korean developers like this article!

Awesome! Thank you for you work on this translation =)


But that's the problem with Vue libraries -- the ecosystem is still frustratingly immature. I had a really hard time with Weex and NativeScript-Vue; so many hoops to jump through and so many errors that I gave it all up and decided to make apps in Java and Android Studio (me is Android-only guy). libui, now that I checked it, is also not maintained actively, and its future looks uncertain.

The framework itself has matured, I'd say, and can give React a run for its money. But for anybody wanting to use these other tools for serious work, please, please avoid them.

Trying to write a GUI in PHP or a game in Elixir sounds fun, but is really not for the long-term.


libui, now that I checked it, is also not maintained actively, and its future looks uncertain.

I don't have any plans on using Vuido and libui, but the latter just had a release on September 1st, 2 in August, several in May, isn't that active enough for you?


The whole status section on its Github doesn't inspire what I'd call confidence. Here's the first two lines:

It has come to my attention that I have not been particularly clear about how usable or feature-complete libui is, and that this has fooled many people into expecting more from libui right this moment than I have explicitly promised to make available. I apologize for not doing this sooner.

Also, sorry but "active enough" isn't what I'm looking for from a library. It needs to be mature and decently popular.


Well, one is free to explore to any extent; it's just that they should know the possible future pain.

like I said I have no plans to use either of them

To be honest, I don't understand how my comment had anything to do with you. 😂 I commented on the original post, and you jumped in on my comment (not that you're not welcome! 😛).

Anyway, what I'd like to say in conclusion is that I'm so tired of hype-driven, myopic promotion of libraries. Something allows you to display a button on the screen and integrates with something obscure and everyone starts jumping at it. I've been bitten in the arse before with this wild, pointless enthusiasm, and I'll continue to wage the holy war against it. 😊


Nice writeup! I think your executable is probably bigger because of the Axios library also being included.


Yes, probably without dependencies it'd be around 20Mb indeed :)


The Linux and Mac packages are actually bigger, but the Windows 32-bit version is around 20 MB ;)

Hi Michal! First of all I want to thank you for your work on Vuido and LaunchUI! Awesome projects and awesome documentation!

Indeed, just checked and Windows 32-bit package is 22.4 Mb (probably a bit more for Axios, as mentioned in comments)

And I thank you very much for writing this great article :)


This is a really good article, with one thing off: Electron apps are not desktop apps. Please stop suggesting that.

Electron is a huge resource hog. Running three of them easily eats up all my 8GB of memory. It’s not a solution, but a problem. If you want desktop apps, write desktop apps.


Alternatively, you can use NW.js. It's all the same features as Electron, but uses much less resources. If lower resources are your highest priority though, then go with LibUI-Node/Vuido.


Well, this is a good point to look at while building an Electron app ;)


You've left out NW.js, which has great Vue support. There is nw-vue-devtools, which unlike Electron is always the latest most up-to-date version of Vue's dev tools. There is Vue-Desktop-Basic, NWjs-Vue, NW-Skeleton, and Vue-NW-Seed for boilerplates. NO ONE should be using Electron. With that sad, glad to see Vuido/LibUI-Node getting some attention.


I was just wondering if it was possible to use Vue with Electron so I'm looking forward to the next article!


Yes, it's definitely possible! Will publish it soon


Great introduction, I saw Vuido some time ago and it's such an intersting project.


Thank you! Yeah it's still very new but already looks nice


Really interesting article! Now I'm wondering what I want to build with Vuido!


I wonder if it supports menubar apps on mac/win. Anybody?


Natalia this is brilliant! thank you so much! - looking forward to the electron version!!


It's nice but without an ability to customize interface it's not so good as it could be.


I've made the exact same thing using, Native-Script vue (on IOS and Android) !
Seems like OpenWeatherMap is a good start for a first app.


Props for using nativescript-vue! Awesome choice for native mobile apps ;)
Yeah I like OpenWeatherMap API, very nice and clear :)

code of conduct - report abuse