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

Nothing beats native.

I've tried Appcelerator and you'll get to a point near the end where you've got to do the other 80% of your application and the third party framework is going to fight you till completion, or some state of completion that you're ok with.

One of the problems is that the simplification also requires you to give up your power.

If you're doing a simple application then maybe a third party tool will help you, but in my experience I would rather work slowly and remain sane.

I would consider Appcelerator again if I needed to prototype something very quickly.




One of the nice things about Appcelerator, as opposed to Corona, is that it's open source and they have guides (iOS: http://guides.appcelerator.com/en/module_ios.html, Android: http://developer.appcelerator.com/guides/en/module_android.h...) for extending the framework with native code. So, when you hit that inevitable wall, you can drop to native code and make it work on both platforms. I find the speed of development in Appcelerator quickly outweighs the drawbacks.

That said, if you're developing a game, Corona is the better option. It's far more efficient in terms of FPS.


Had the same experience with Appcelerator. Not knowing Objective-C it was a lot easier to get ideas into code quickly for prototyping, but when I ended up having to read all of their source and writing custom modules to get what I wanted done I decided it was not worth it. (Side benefit: this is how I got comfortable w/ Objective-C)

If your app is brochureware or a simple web app port to mobile it probably works well. If you are pushing anywhere on the edges it starts to get difficult.

Organize your application really well and it will be easy to port between the two platforms for any models/libraries you write where the concepts are the same.


I'm also going the native route and have briefly experimented with PhoneGap, Sencha, Appcelerator.

I recommend you analyze what features you're trying to leverage: camera, GPS, OpenGL ES/Rendering. Also, try and see what code you can reuse to be consistent across both platforms: the AR feature, wi-fi triangulation, and UI (UX will inherently have differences between iOS/Android).

My experiences with the camera include low-level image processing algorithms that 3rd party applications can't really optimize for. This is something from my own codebase that's fairly independent from everything else.

GPS/wi-fi triangulation is tricky because it's more understanding how iOS and Android track your location and maintain state. Whether or not you use a 3rd party application or your own code to parse it is up to you. As with a lot of things, the more you understand, the better decisions you can make ;).

Finally, UI (because I haven't done a lot of Open GL/rendering)... it's a pain to work with across different platforms, so leverage whatever you can to simplify this process. If all you're using 3rd party applications for is to translate iPhone UI to Android UI, go for it.


Agreed,

PhoneGap + jqtouch (or perhaps jquery mobile as it matures) is an awesome way to get going fast but that last mile can be torture, especially if you're working with an uncompromising customer/designer/etc.

At some point someone is going to throw on the brakes because "x doesn't y like an iPhone app" and then it gets ugly.

I think that you can do some very cool stuff using the "web app in a can" approach and I think it's appropriate for a lot of the typical "corporate"-type apps as long as you can manage expectations and stress the cross-platform angle (which can be almost zero-effort, check out https://build.phonegap.com/faq).

But pistoriusp is right, if you're breaking new ground then time invested in learning the native way is well spent.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: