Hacker News new | ask | show | jobs
by BinaryIdiot 4000 days ago
I love it when companies make software that I use on my mobile phone and it syncs with a desktop application as well. As a web developer I appreciate web applications but the experience is almost always better in a native application (at least I've found very few exceptions).

So I'm happy companies like this still provide desktop applications. It would be great if it were more of a trend but I'm not sure that it is yet. If there were better frameworks to use that would allow code reuse across all platforms it would certainly make this easier.

2 comments

> If there were better frameworks to use that would allow code reuse across all platforms it would certainly make this easier.

I feel that this is exactly what web applications try to solve in the first place.

> I feel that this is exactly what web applications try to solve in the first place.

Yeah I think so too but I don't think it really did. Native apps are almost always so much better. The biggest issue is discovery and installation of native applications that make the web more approachable.

I'd love to see some better development frameworks that let me use native UI components to build an application that can share business login across iOS, Android, Windows, Mac OS X and even Linux. It's kind of a hard problem though.

Qt? It's your best shot for native win32/osx/*nix apps, and you can reuse lots of code for the android/ios versions (though you'll have to rewrite the views, of course).
Whoa, I've used Qt an very, very long time ago so I knew of its existence but I had no idea they had iOS and Android ports. I'm going to have to look into that. Thanks!

Yeah I expect re-writing of views. Honestly I think that's unavoidable and perfectly fine it would just be nice to keep the business logic everywhere I go.

I'm pretty happy with the approach of common x-plat core and then bindings to the native UI framework (Cocoa, WPF, etc.) on each platform. I'll bite the bullet of rewriting the UI layer for each platform if it means an absolutely great experience, you still save plenty from having that common core. Also, there's the nice side-effect that you end up learning the particulars of each platform, and by necessity end up with a really good architecture.

I do this with C#, not sure how many other languages support this approach. I wish it was all of them.