3

I've been thinking about an application that I want to develop for a while now. In short, I want this application to perform some crud operations. The application will be for a law firm so overall security is going to be very important. My primary programming language is php but I wouldn't mind learning some Java or possibly Objective C to make my application os-x and iOS native. Back to my question, what are the pros and cons to developing a gui application as opposed to just developing an app for the browser? The reason I ask is because if there are some benefits to developing an gui app in, say, objective c, then I guess I need to start focussing on learning the language.

Important considerations about the application I want to develop:

  • Database connectivity
  • Security(Very important)
2
  • 1
    Well the first con is that your customer will be tied to Macs and iOS devices, are you sure none of the lawyers have PCs or Android/Windows phones? Jan 6, 2012 at 0:57
  • @Carson63000 I've thought about that, but i think the more specific my application is the better it will do. The PC world in general seems pretty flooded with applications. Or maybe this is just my love for macs talking. But you look at applications like textmate. Sure they probably could have developed it cross platform, but instead it's arguably the greatest mac text-editor.
    – Scott
    Jan 6, 2012 at 1:06

5 Answers 5

1

The main reason to write a native app over a Web app is if there is a compelling reason to use the client OS. It doesn't sound like you have that constraint.

You cannot use Java to develop iOS applications, so you would need to use either Obj-C or Mono or something similar.

Most CRUD apps are good matches for Web development, although you often need some form of specialized table (you probably already know that).

3
  • The first part of your answer makes sense. In the 3rd part of your answer, are you referring specialized database table? I'm using mysql, I'm thinking that should be sufficient.
    – Scott
    Jan 6, 2012 at 1:13
  • @Scotty I'm thinking about modifying which columns are displayed, sorting options, filtering options, those sorts of things. Jan 6, 2012 at 1:27
  • IMO using a native app for that is overkill. A web application should do fine => faster development => more free time.
    – Kemoda
    Jan 6, 2012 at 7:52
3

Having a web app has a few major pluses

  • It is easy to upgrade (just push a new version to the server)
  • It is cross platform (Windows, mac, tablets etc)
  • You already know how to do a web app
  • It is possible to make sure all the data is in one place for security and backups

On the minus side there are some limitations, but with HTML5 those are less and less each year.

1
  • There is no reason a native app can't be made easy to update. There are plenty of examples of self-updating native apps. Also, it's pretty easy these days to make a cross platform desktop app, so two of your bullet points don't necessarily apply. Feb 7, 2012 at 0:03
3

Personally, I agree with both Steve Job's and Bill Gate's view on this: http://vimeo.com/25043022

In short: native apps will always be around, and in times are preferable, over that the experience that they can provide can often at times be far superior than a non-native (web) app, however the cloud, or the web infrastructure should definitely be there supporting the native app. When you think about it, this is more or less every apple product these days - iOS, iTunes, OSX, MobileMe, iCloud, iTV - in theory, they could all be pure web applications, but the experience would not be the same.

Here are the full interviews http://www.youtube.com/watch?v=LrS7JQv-zgY and another http://www.youtube.com/watch?v=zmInRZ2d-bI - well worth a listen.

1

A big con with native applications is the deployment. Installing and updating a native application is much more hassle for you as developer and for your users. With a web application, that becomes a lot easier. I wouldn't go native unless there are OS features I really need.

0

One pro that you might want to consider is accessibility. With web apps, your users can access it anywhere through the internet (that is of course this app is not constrained to the intranet). Although accessibility will entail more security considerations...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.