Last Updated: September 27, 2021
·
4.375K
· corysimmons

Different Types of Apps

You might be confused about the specific differences between apps, so I've put together these definitions to help clarify.

  • Native App - Native apps are apps built directly in the device's specific language. For instance, iPhone's is Objective-C, Android is Java, Windows Phone is C#.

  • Web App - A web app is an app built with HTML5, CSS3, and JavaScript, that works on any device. Usually these are accompanied by a responsive design.

  • Hybrid App - A web app that has the look and feel of a native app but is still built with HTML/CSS/JS.

  • Compiled App - A compiled app is a web or hybrid app that you've ran through PhoneGap's Build service to create "native" apps.

I made up the last one, but I felt there needed to be some sort of way to differentiate non-native apps from native apps that were built by running a JS app through a service.

2 Responses
Add your response

Why would you make a distinction between "Web App" and "Hybrid App" if they're technically the same? I don't see a clear line between them, the "look and feel" is a subjective matter. What would you call Gmail web interface? A Web App or a Hybrid App? What apps would you call Web Apps but not Hybrid Apps?

I would call a "Hybrid App" what you call a "Compiled App" and eliminate the latter. IMHO it makes more sense cause then it justifies the word "hybrid" - those apps are hybrid because they're put into a native wrapper for specific platform(s) that can also provide extended access to OS functionality but the app itself (i.e. not the wrapper) is still written using open web technologies - HTML/CSS/JS.

over 1 year ago ·

@dpashkevich I don't think the differences between something that looks like Bootstrap and something that looks like a native app (http://moobilejs.com/demos/latest/ios/moobile-simulator/index.html).

From a visual standpoint, I'd call the GMail UI a web app.

TBH I see your point, but in day-to-day office use, it just became too confusing to refer to everything as a native, web, or hybrid app. I suppose because our workflow revolved around PhoneGapping everything and there wasn't a clear way to say, "Hey, this is the PhoneGap'd version and this is the pre-compiled version."

over 1 year ago ·