Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Cordova VS Native

Options
  • 27-06-2015 3:34pm
    #1
    Registered Users Posts: 1,298 ✭✭✭


    I've been messing around with Cordova/Phonegap the past few weeks, finding it so handy to be able to write apps through HTML and JavaScript.

    Whats everyone else's opinion on it? Is it worth building apps via cordova or would it be better to learn native ios/android programming?


Comments

  • Registered Users Posts: 1,206 ✭✭✭zig


    In my limited experience I can only see native app building being used for enterprise level and games in the future.

    With Phonegap and/or Intel XDK you can make apps for Iphone, Android and Windows and have them just as slick, smooth and impressive as any native ones using web technologies, and this is coming from someone who finds even a SLIGHTLY unsmooth animation of any type annoying!

    The key difference between now and even a few years ago is the APIs are so good that you cant even tell the difference anymore.


  • Registered Users Posts: 2,030 ✭✭✭colm_c


    zig wrote: »
    In my limited experience I can only see native app building being used for enterprise level and games in the future.

    With Phonegap and/or Intel XDK you can make apps for Iphone, Android and Windows and have them just as slick, smooth and impressive as any native ones using web technologies, and this is coming from someone who finds even a SLIGHTLY unsmooth animation of any type annoying!

    The key difference between now and even a few years ago is the APIs are so good that you cant even tell the difference anymore.

    Sorry, but I completely disagree, it's very obvious that an app is HTML5, the delay in responsiveness alone is obvious. Not to mention the design patterns on each platform are completely different, so why would you have an Android app that looks like an iPhone app or vice versa? That is one of the key point of HTML5 apps, you can use the same code base for iPhone and for Android, which implies the same design patterns.

    IMO HTML5 is grand for prototypes, simple apps, or getting started in mobile, but once you need any kind of slick user experience, performance, scale, complexity, security or device integration, native will always be the better option.

    Here's a few articles worth reading:

    http://www.fastcompany.com/3030873/our-html5-web-app-flopped-so-we-went-native-and-havent-looked-back

    http://www.infoworld.com/article/2610329/mobile-development/forrester--html5-apps-still-not-as-good-as-native-apps.html


  • Registered Users Posts: 1,275 ✭✭✭bpmurray


    I depends very much on what you want to write. As colm_c points out, many situations call for native code. However, there are equally many situations where you can implement what you need using Cordova.

    BTW, since Cordova allows per-platform specifics, the idea that you have a single experience from a Cordova app is incorrect.


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    Having had exposure to developing both ways commercially I would always lean towards native development if it is possible, it gives you far more for your code than any hybrid approach, as others have said hybrid approaches lead to a jagged user experience when compared to native apps, they are nowhere near as smooth or as fast and you can hit frustrating limits very quickly in more complex apps.

    However the hybrid approach is so fast and cost effective that it does have many uses and is great for simpler apps, prototypes and early versions of apps for testing the waters. The platforms are also getting better with things like Ionic and React Native making things better.


  • Registered Users Posts: 1,206 ✭✭✭zig


    colm_c wrote: »
    Sorry, but I completely disagree, it's very obvious that an app is HTML5, the delay in responsiveness alone is obvious. Not to mention the design patterns on each platform are completely different, so why would you have an Android app that looks like an iPhone app or vice versa? That is one of the key point of HTML5 apps, you can use the same code base for iPhone and for Android, which implies the same design patterns.

    IMO HTML5 is grand for prototypes, simple apps, or getting started in mobile, but once you need any kind of slick user experience, performance, scale, complexity, security or device integration, native will always be the better option.

    Here's a few articles worth reading:

    http://www.fastcompany.com/3030873/our-html5-web-app-flopped-so-we-went-native-and-havent-looked-back

    http://www.infoworld.com/article/2610329/mobile-development/forrester--html5-apps-still-not-as-good-as-native-apps.html

    Ill check out those articles , to be honest I wouldnt be developing cross platform which I understand could slightly defeat the purpose of it. Id be still building seperately but the point being they would be slightly different variations of the same app and would still be built much faster than using Java and Object C with different IDEs etc.

    I guess it depends as to the level you want to go to hence my comments about enterprise level and games, but if built correctly using solutions like crosswalk and making use of Iphones hardware accelarator and the correct CSS to get the best out of it, and avoiding javascript/jquery animation and writing a good API to connect to a database you can definitely build quite a wide range of quality apps where you really wouldnt be able to tell the difference between that and a native build.

    Its my prediction that almost all web design companies in the next 3/4 years will have at least basic "brochure" type apps as part of their service.


    Either way in answer to the OP, there is no harm in starting with hybrid and then when you feel you have reached a limit you can begin to learn native development. That way at least you know exactly what you need to do and why you need to do it.


  • Advertisement
  • Administrators Posts: 53,438 Admin ✭✭✭✭✭awec


    Have a look at Xamarin.

    Native UI and Native API calls but with common code.

    Not sure if there's a proper free version though.


  • Registered Users Posts: 2,790 ✭✭✭John_Mc


    awec wrote: »
    Have a look at Xamarin.

    Native UI and Native API calls but with common code.

    Not sure if there's a proper free version though.

    Looks good but it's quite expensive


  • Registered Users Posts: 2,145 ✭✭✭dazberry


    John_Mc wrote: »
    Looks good but it's quite expensive

    Another take would be the RemObject's Elements products.

    Effectively they are Oxygene (Pascal), C# or Silver (Swift), the latter being free. So they target the platform natively, but in the respective language, so for instance you can write say C# code on the Android platform or iOS, and it compiles to native platform code.

    It doesn't aim to be cross platform in the sense that you're working directly on each platform, so even the likes of strings are handled differently between the different runtimes. Domain code can be shared using their sugar framework, but ultimately you're nuts and bolts on the platform - it's just the languages that are common. I've a C# license myself and use it for Android code.

    D.


Advertisement