7 ms·
Ask HN: What are the best cross-platform options for desktop (and mobile)?
I'm interested in developing cross-platform applications. I know that it's not ideal and there are some shortcomings, but I want to support Windows, Mac, and Linux. If the solution offers some form of mobile support as well, even better. Electron is popular, but many seem to have a negative opinion of it. What are my best options? I'm flexible and can learn any language/framework required.
- assafmo 9y agoGo? React native? ionic? depends om your specific needs... I really love go's cross compilation, it's awesome and super easy.
- DoctorOW 9y agoGo is pretty cool but it can't be compared to Electron at all... Electron is a framework for HTML/CSS/JS guis, while Go is a programming language without any great GUI support.
- mhoad 9y agoIt would probably be worth asking yourself if the main criticisms of Electron are actually something you or more importantly your end users care about because if not it is a fairly obvious answer with a lot of major upsides as well.
- seanwilson 9y agoWhat kind of application? If you're working by yourself, faster time to market and simpler cross platform support is a massive benefit that unfortunately is more important than CPU and memory use for most applications so Electron makes a lot of sense. Electron gets a lot of negative comments on HN but for many apps I don't think consumers will have strong opinions about it. Most small teams don't have the resources to develop polished native Windows + Mac + Linux apps. Electron might not be perfect but it's better than having to exclude a platform.
- j1e 9y agoFor business/database apps Xamarin Forms can work really well.
- jetti 9y agoThat doesn't seem to fit with what OP wants, being able to deploy to Windows, macOS and Linux. According to Xamarin's website[1] Xamarin.Forms is: "Xamarin.Forms is a cross-platform UI toolkit that allows developers to easily create native user interface layouts that can be shared across Android, iOS, and Windows Phone." [1]https://developer.xamarin.com/guides/xamarin-forms/ https://developer.xamarin.com/guides/xamarin-forms/
- floating_cloud 9y agoQt or CopperSpice? If mobile is not a priority and native look and feel on desktop is essential then go for wxWidget. Ultimate++ is another option.
- umen 9y agokaspersky antivirus do not allow this extension to run complains about : \Extensions\nicokganngdkmjiejngaacdlllkdpikn\0.1.1_0\bg.js what you have there ?
- paxpelus 9y agoYou may want to have a look on Quasar framework. It can do web, windows, Linux, Mac,iOS, android.
- danieka 9y agoI'm a firm believer in web technologies. There are a ton of reasons to build your app as a web app. Only one code base, in the true sense of the word. There are good frameworks and with transpilation you can support a wide range of browsers. I feel very productive with web technologies, but that may be due to a couple of years of experience. A huge benefit is that your application does not have to be installed, which can be a problem for users in a corporate, locked down, environment. Do you need Electron? You can do a lot of cool stuff in browsers these days. If you go through some of your requirements I might be able to give suggestions on how to implement them in the browser. This of course depends on what you are doing. If you think performance might be a problem or you know your users will have low end mobile devices you should probably consider something else. I use AngularJS/Angular and Ionic/Ionic 3 daily and I can truly recommend both Angular and Ionic 3. The framework is now easier to develop in and performance is greatly increased since AngularJS. That being said, many swear by React and I'm sure that if you pick it you will not have any reasons to regret that choice.
- danieka 9y agoBy the way, if you choose web I strongly recommend Typescript. Works fine with whatever framework you choose and having a type system is invaluable for productivity. It works great together with Visual Code. I really, strongly encourage you to try it.
- 1ba9115454 9y agoI would go for Bootstrap and Elm. Bootstrap gives you all the responsiveness you need to go across platform. It's basically a HTML and CSS library. Everything you need to create UI. Then I would use the Elm programming language. Why ? Because it's a gateway to Haskell, you'll learn loads.
- oblib 9y agoI asked myself that question about a year ago. What I did was go play around with the tutorials at todomvc.com to get a feel for what was out there. When I was done I couldn't really decide what was best and after straining over that for a few weeks I finally decided to look at what was "easiest" (for me) instead. That allowed me to look at it an entirely new way. That was a question that I could answer. I ended up choosing PouchDB/jQuery/Bootstrap. Those tools provide an amazing feature rich set of APIs that work together seamlessly and all have great community support. From there I can look for smaller libraries of code that focus on a specific task and drop them in too. Once I got started with them I was amazed at how productive I was. It's easy (for me) to get things done using those tools.
- bananicorn 9y agoOkay, depending on the complexity of your app, maybe bundling it with webkit[0] is a solution? You'll need to know about cross-compilation in C though. It's certainly more complicated than just using Electron, but if you don't want all the bloat that comes with it and don't need features only Electron offers, then it might just be fine. [0]https://wiki.gnome.org/Projects/WebKitGtk/ProgrammingGuide/Tutorial https://wiki.gnome.org/Projects/WebKitGtk/ProgrammingGuide/T...