1

Question: Is an application written in JavaScript (A language that Ubuntu recommends) a native or a web one?

Answer: According to Ubuntu SDK, Javascript/HTML/CSS apps are considered to be Native because they have unrestricted access to platform's APIs.

A web app is just a converted website into an app and doesn't have full access to APIs

  • 1
  • First, to slightly correct your OP; Javascript is a language that is recommended, however not "The language", unless perhaps you are looking for cross platform. – Anon Jul 12 '16 at 12:39
  • Second, to your OP; QML utilizes some Javascript syntax and rules, so if you are asking whether you should learn it; such is not a bad idea. – Anon Jul 12 '16 at 12:40
  • Third: The recommended language is ultimately going to be Qt and QML, with GoLang on the horizon, but with HTML5 still being a place where your applications can still feel at home on. – Anon Jul 12 '16 at 12:42
  • And just a question; where specifically did you read that Javascript is the language that is recommended? – Anon Jul 12 '16 at 12:46
  • "For starters, we recommend QML and JavaScript, which are the languages used in most tutorials." https://developer.ubuntu.com/en/phone/apps/ – benjamin Jul 12 '16 at 12:50
  • @benjamin Right. So the key word is "and", as if you check out the core apps, it will be MOSTLY QML for handling the UI and much of the logic, but will also have Javascript components that may handle something like a MySQL instance. And again; remember that if you write a function in QML, it is utilizing Javascript rules and syntax. I think you will be hardpressed to do a GUI application for Ubuntu(Unity8) if you do not use HTML5 or QML. – Anon Jul 12 '16 at 13:15
  • 1
    If you are asking for possibilities, I think one can do a lot with html5/Cordova apps for Ubuntu Touch. For example Ovi (https://uappexplorer.com/app/ovi.hankamotz) is a cool html app that works offline. See also: Cordova Ubuntu Demo https://uappexplorer.com/app/ubuntucordovademo.ubuntu-webapps. – pomsky Jul 12 '16 at 18:04
  • 2
    please don't edit your question to say solved. Post an Answer instead and mark this as accepted – Wayne_Yux Jul 27 '16 at 16:13
  • I posted an answer if you didn't notice.. – benjamin Jul 27 '16 at 16:16
  • The answer is right beneath the question – benjamin Jul 27 '16 at 16:18
  • 1
    @benjamin No, that's an answer inside your question. If you scroll down to the bottom of the page, you'll see the actual section where you can submit your answer. – wjandrea Dec 15 '16 at 14:41

2 Answers2

0

Qt and QML applications would be considered Native, generally because they use C++ as a framework, thus requiring compiling for your platform. Not to mention that Unity8 is being written in Qt, and the Ubuntu SDK is a plugin enriched version of QtCreator.

HTML5 and by extension, Javascript are going to be associated with being a web application.

Anon
  • 12,063
  • 23
  • 70
  • 124
  • 1
    I thought "web app" means a mobile version of a website (like facebook) that is available among the native, regular apps. I actually wanted to use cordova for app development. I got confused and have no idea where to start then... – benjamin Jul 12 '16 at 12:49
  • @benjamin You are not wrong. If you are intent on making your program cross platform to Android, Apple, Blackberry, and Windows Phone (or whatever else) -- I would say go for it. If you do not, then I recommend picking up QML and using the Ubuntu SDK (Which is quite powerful). – Anon Jul 12 '16 at 12:55
  • 1
    Thanks, yes, exactly. I want to target all the platforms, but at the same time don't get the idea of hybrid (or web?) applications. For instance, if i use Cordova/Ionic (JS, CSS, HTML), are the apps considered to be "web" because of the technology behind it? If i say "hybrid" instead of "web" does it take sense? I strongly associate "web app" with a website that is inside of the app and it does nothing more than shows the website. However, most of the Cordova apps i have seen don't look like that, they look and feel native for the most part. – benjamin Jul 12 '16 at 13:14
  • @benjamin Yes they are. If you want it cross platform, then you have to use HTML5 and Javascript. If I saw the word Hybrid, I personally would interpret this as your application sharing a portion of your code as HTML5, but having unique and significant portions of your code written specifically for x platform. Maybe it makes sense a different way to a HTML5 developer, which I am not (I do Qt mostly). Web Apps can be made to look native, but they are significantly less powerful. – Anon Jul 12 '16 at 13:27
  • @benjamin By the way; Some resources with people more adept to answer your questions (Its been about a year since I worked on Ubuntu Core Apps), visit the IRC channel #ubuntu-app-devel -- Canonical Employees linger there among others, and they can help you get started. Also check out /r/ubuntuappdev, and that has some good resources. – Anon Jul 12 '16 at 13:30
  • 1
    Thank you for the info! it looks like QT allows making cross platform apps in C++ (Desktop + mobile). Just like Cordova, but much more powerful. P.S i originally thought QT is something like QML.. i have never been so mistaken. That's probably why i got confused in the beginning. – benjamin Jul 12 '16 at 14:38
0

Calling an app native or web doesnt depend on the language used to make it , you can use C,C++,Python to write web apps using the CGI module as well as use them to write native apps which can fully use the harware of the pc. Normally web app runs on a server thus allowing someone to run a power consuming app on light notebook and still not burn it.For detailed comparison you can peek here.

Cheers

hellozee
  • 419