
Ask HN: How do you make apps? - kalev
We&#x27;ve been building hybrid-apps at work for a couple of years (Cordova) and are now feeling the pain of those hybrid eco-systems. Unmaintained plugins, flaky behaviour between iOS and Android, difficult to develop and unit-test, etc.<p>Apps we made earlier started out pretty basic, but soon started to grow bigger with login functionality, placing orders and interacting with a community.<p>I&#x27;ve started looking at alternatives and found a few. What do you recommend&#x2F;use at work or for you personal projects?<p>Xamarin? NativeScript? React Native? Pure native (swift&#x2F;java)? And how do they compare?<p>Xamarin looks promising, code reuse is a big plus, but i&#x27;m wondering if it&#x27;s used in larger corporations&#x2F;apps?
======
fiiv
I've used RN for a few projects now. I can recommend it to the extent that the
community is active and there's a module for just about everything. I also am
familiar with React so this was a big plus.

In terms of native vs. RN, it depends on the app and on you. For most
projects, the result can be pretty good, and the RN components do compile into
native ones so you would not notice too much of a difference in the final
product.

Use it if you like React. If you don't and like Angular, use Ionic. If you
like new stuff try Flutter with Dart cause that's heating up at the moment,
and is blazing fast and efficient - Dart's easy to learn if you know at least
1 language already.

I have not ever met anyone that uses Xamarin nor do I really know much about
it. I try to avoid Microsoft's ecosystem whenever possible so I can't really
speak to it too much.

------
psychogenic
I've been using ionic framework
([https://ionicframework.com/](https://ionicframework.com/)), which uses
cordova under the hood for interaction with the native side through the plugin
system while allowing for code to be typescript/angular 2 based without moving
too far from the Cordova I'm already familiar with.

It's pretty sweet and has sped up development on many fronts, but I'm also
curious as to what others are using and why...

------
randomerr
For portability I usually just use Bootstrap
([https://getbootstrap.com/](https://getbootstrap.com/)) or template with a
basic layout and fill it in with HandlebarsJS
([https://handlebarsjs.com/](https://handlebarsjs.com/)) and jQuery. To
compile apps I will use:

* Nativefier for desktop application to create a basic Electron application from a website ([https://github.com/jiahaog/nativefier](https://github.com/jiahaog/nativefier))

* Web2Executable to convert a local set of HTML and NodeJS to a NWJS binary file ([https://github.com/jyapayne/Web2Executable](https://github.com/jyapayne/Web2Executable)) - FYI: NWJS, or NodeJS + Webkit and then Chrome rendering engine, is the code that Electron is based on. The big difference is that NWJS doesn't require all the structure that Electron does. So NWJS is easier to develop for but in some cases not as fast to execute.

* Appsgeyser.com ([http://appsgeyser.com](http://appsgeyser.com)) can convert either a website or a zip file to an Android application

* GoNative.io ([https://gonative.io/](https://gonative.io/)) will create apps for Android and iOS. But some of the advance features are stuck behind a paywall.

