Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Are Phonegap and Titanium the preferred way to go for cross-platform mobile development? If not, what are people using these days? (I don't want to hijack this Ask HN, so please ignore my question if I already have a couple of replies.)


The company I work for recently decided to develop some cross-platform apps. After researching a few different things, we decided Cordova (Phonegap, but not branded) best fit our needs.

Aside from Titanium, we also looked at MonoTouch[0] and Xamarin[1], which I believe (didn't completely read through) is built on both Cordova and Mono.

If you were building from scratch, maybe another one of those would make sense for you. We are working within an existing project (mixed native and webview), and Cordova seemed to best fit our requirements there.

[0] http://www.mono-project.com/Main_Page [1] https://xamarin.com/


MonoTouch (= Xamarin.iOS) has nothing to do with Cordova.


I wasn't sure if it was Xamarin or another framework that was ultimately using Cordova underneath. After reviewing their docs a bit more, it appears Xamarin was not the framework where this was the case.


Did you evaluate cocoon? On my tests that was the fastest although a little buggy. I think if I built from the ground up targeting that it would be the best?

https://www.ludei.com/cocoonjs/


We hadn't, but as one of the other comments mentioned, that seems to be game-development focused, which is unfortunately not what I'm working on. I'll keep it in mind for side projects, though.


Isnt cocoon canvas and webgl only?


oh yes. I do mainly games so that huge restriction doesn't register with me sometimes.


trigger.io is also an interesting newcomer.


I recently used trigger.io on a project. It doesn't seem much different to phonegap. Their Reload feature was useful because we had a tight deadline and many iterations but documentation was sparse. Most documentation links 404'd or referenced older versions so I end up having to manually search. If you're on the cheapest plan like I was then you only get community support, which was no good. Stackoverflow based but many questions are unanswered. There's just no community as far as I could tell.

Also their trigger toolkit interface was messy. Browser based. Sometimes I'd enter data into one field only to have it clear other fields.

They compile remotely so if you're looking to tweak configurations in xcode (like you can with cordova) you'll need to opt for some of their modules (like plugins are to phonegap/cordova).

Just so frustrating.


We have an internal framework sitting on top of appcelerator's titanium that makes our app look at exactly the same on iOS and android. I mean exactly the same. The app specific code does not need to think about what platform it is on. We do this because titanium does some of the leg work but -rightfully- not all the leg work in achieving that. We get close to native code performance (better performance than Phonegap - tried that first - because its native controls). We have a large data layer and phonegap performance just degraded way too far with the amount of data in play that we needed.


> I mean exactly the same.

Unless a unique UI is a selling point of your app is that really desirable? After all, Android and iOS user interfaces have (somewhat) different conventions.


They are getting closer and closer so we're at a somewhere in the middle design where it doesn't really feel out of place on either platform. In some areas you can admittedly tell we leaned heavily towards iOS (i.e. pickers). Three factors led us this direction.

a) We're a small company, we can't make having separate android and ios teams feasible. Writing and maintaining a single code base and separating out ui/platform concerns from that was ideal.

b) User training is much simpler if the app walks and talks exactly the same way when you have a large number of not-necessarily-technical users. Especially when some of those users may have android phones and iOS tablets and hop between the two.

c) Similar to b, customer support is much simpler when things work the same way and look the same way, again, especially for not-necessarily-technical users. Sending screenshots, directing over the phone or email, etc, all get much much simpler.


Yeah. I'm curious. Does it look out of place on iOS, out of place on Android or out of place on both?


I'm currently working on a project where we started with Trigger.IO but moved to phonegap simply because more people have used phonegap, so the documentation is a lot better.

Also, depending on your target user group, you may want to checkout out Ionic (ionicframework.com). It's a mobile-first front end framework built on top of AngularJS. I've been using it on top of cordova/phonegap and it's easy to get up and running with and very performant (on the modern devices it supports). With Cordova and Ionic, our app feels very close to native on iPhone 5+ and high-end Androids


Ionic is definitely the best I've seen. You can whip out an app with even the most rudimentary knowledge of Angular.


I'm using LibGDX for writing games (although you could of course write other apps). They have fairly recently added RoboVM support for compiling to ios and it's amazing.

I literally loaded up my code in Eclipse on a Mac, right-clicked and ran, and there way my game, running on the iphone emulator...

Pretty impressive, especially for free.


Games are a bit of a special case though, since they're mostly non-platform specific logic sitting on top of OpenGL.

LibGDX is awesome.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: