I think for the web application (HTML/CSS/Js) to be published on Google Play for Google TV 2.0 platform the only way is to use the Java WebView wrapper (or more mature solutions like PhoneGap) – is that correct?
Are there any other ways to publish directly the web applications or are any plans like those known?
There is no current way for a web app to be published to Google Play. YOu can wrap your app in a webView like PhoneGap does, or you can create a simple launcher that opens Chrome. Both of those are unlikely to be featured, however.
Related
I'm wondering it's possible to identify android device by web app running on mobile web browser? And this solution have to still working after change or upgrade web browser on this phone.
My second doubt is web app can working offline on phone showing PDF presentations saved in local storage (disk). When I have internet connection I can manually sync presentations (some are removed and some are downloaded).
If PWA app can work like I described above or in this case we need to use (hybrid) mobile app ?
PWAs allow to cache assets and make them available to the users even when they are offline. There are some functionalities that only Native Apps have (eg. access to a device contacts), but they are very close under many other aspects.
I wrote an article about Service Workers and caching strategies where I explain how to cache static assets as well as HTTP GET calls. It is part of a series about PWAs, so you might find it useful to get more insights about this technology.
Have a look at the website what web can do today to have a list of WEB APIs currently available:
I do not know the detail of your requirements, but maybe you do not even need to implement an hybrid app and simply create a PWA.
I'm currently developing an app (via Intel XDK) that reads a .csv file that was created by another app (via Android Studio). The Android Studio app is mainly for capturing sensor data, whereas the Intel XDK app should display the data fancily. Since saving everything as .csv and reading it all later on is incredibly naive performance and storage-wise, I was thinking about creating a database that manages the data. Now, setting up a database for each app seems easy enough, and there are also solutions for two Android Studio apps. But how can I create and manage a database that can be used by an Android Studio as well as by an Intel XDK app?
OK, I think you want to have your Native Android Database to be accessible from another Application so your solution will be ContentProviders.
You should build a ContentProvider layer above your SQLite database in the native android application then you can easily contact the ContentProvider from any other application included PhoneGap or any cross platform one.
To learn more about ContentProviders in android check that.
To learn how to expose or use ContentProvider from CrossPlatform phonegapp applications check that.
You can use the Content Provider mechanism of Android, as described in http://developer.android.com/guide/topics/providers/content-providers.html.
You decide on one of the two apps to actually manage the database and play the role of content provider to the other. The other accesses the data via the interface provided by the content provider.
This works if both apps are on the same device. For cross-device synchronization of data look at Couchbase Lite, a database that offers this feature out-of-the-box.
In Visual Studio 2015 I go:
New Project -> Under Javascript/Windows -> Blank App (Universal Windows)
It then creates a new app that has an .html file, a .js, .css, etc.
I then can access system level things via an object that's exposed to javascript.
Now in order of Microsoft to have implemented this I'm guessing my app is hosted within a webview of some sort.
Now let's take Cordova (or Phonegap), I create a windows cordova app and this is a windows app that has a hosted WebView within it. (or does it? atleast that's what it does in iOS and Android).
So isn't this redundant? If my app itself can be a WebView (by making a javascript windows 10 app). Why would I want to host ANOTHER webview like cordova?
Or maybe I'm not understanding something..
Windows 10 Javascript Apps (Also known as WinJS) is a way of building native Windows apps with web based technologies. WinJS provides libraries that provide direct access to the device, underlying OS and framework.
Cordova apps are also built with web based technologies and run inside an embedded web view. Cordova provides a set of libraries for accessing details on the device but these go through another layer that is specific to the OS. While WinJS is only for Windows apps, Cordova apps can, for the most part, be easily rebuilt to run on different platforms.
In the last year I got to know that many developers started developing desktop applications that run on the web browser.
I am also trying to get into it and I'm trying to understand how I should start with such kind of development.
I first thought I should create a regular client-server application, i.e. with Apache Tomcat or with PHP, and for each launch of an application, to launch a new server on localhost and to open a browser that will load the application.
I've lately got to know that there are packages that do the server-client work for you, such as node-webkit.
I don't know where to start and I'm very confused...
When developers say that they develop desktop applications in Javascript or such that run on web browser - do they probably mean that the use node-webkit? Or does they do the complex structure I described above (JSP/PHP server on localhost) ?
Many development models with web technologies exist, but they have different purposes and it all depends on what you want to do.
You seem to be mixing 3 models
Classic websites
A server (with PHP, Java or whatever) generates HTML.
A user uses a browser to access it.
When the user clicks somewhere, the server is called again and generates another HTML file.
Single Page Applications
This model is often used when writing websites that need a lot of interactivity. For example Gmail, or Google docs are SPAs (more or less).
SPAs are websites (you can access them at an URL) where all templating is done client side, and the webserver only exposes a HTTP API.
Most of the times, people use frameworks to make those like:
AngularJS
React
Backbone
Desktop apps with web technologies
That's just coding an application that you can install on a computer or phone with web technologies (javascript, css, html).
There is no server.
Tools that enable programmers to do this are
Node webkit (for desktops)
Cordova (for phones)
Many others
Most of the time, programmers also use SPA tools in conjonction with those to help them during development
The selection of technologies for building an application depends on the use of your application and the platform you want it to run on.
Web applications in contrast to Desktop applications are hosted and served by servers (like Tomcat) which are then requested and present to you by your browser.
Desktop applications are running on your local machine and they are independent from your browser. However node webkit, allows you to design applications using HTML and making them dynamic using node. The end result is a standalone application that runs as a browser emulation that is able to render and run software based on HTML and javascript. (In this case nodejs serves the application locally and the standalone web-app is the client).
Long story short node-webkit emulates the client-server model that is used for classic web apps, to build desktop applications.
It is an unorthodox way for doing things IMHO, but it might be a good start for getting into application development.
Try this-
https://electronjs.org/
Build cross platform desktop apps with JavaScript, HTML, and CSS. With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker.
I am interesting in making an android application, while my primary hobbies is web development. Now the thing that is confusing me is that people make applications in HTML5/CSS3/JavaScript languages, are those apps running on web browsers on android mobile or running like an installed application on android?
Well you can design and develop your app in 3 ways
Native: full Java code in Android case, or Objective-C or Swift now in iOS
Web: HTML5, CSS3, JavaScript
Hybrid: a mixture of the two
If you are a web developer you can design your app in HTML5 and then use a wrapper like PhoneGap or Apache Cordova which will simply wrap or package your app in a WebView (a Webview is like a simple browser inside a native app).
Then you will have your APK like any other app in Google Play, so yes it's a full application that can be installed, updated and deleted of course, in any Android device
But there is a difference between the two, like the speed varies depending on the app type:
previously, web apps couldn't gain access to the accelerometer, camera, gyroscope etc, but now with the bunch of APIs available, you do have the ability to access them in very simple ways.
A full definition of a webView
The WebView class is an extension of Android's View class that allows
you to display web pages as a part of your activity layout. It does
not include any features of a fully developed web browser, such as
navigation controls or an address bar. All that WebView does, by
default, is show a web page.
More info about WebView Here
Yes they can be opened in web browsers. Those mobile application that is written in HTML5 are really web applications that have Mobile user interface. You can create and experience these projects using Visual Studio 2012. Go to new project -> Web -> ASP.Net MVC 4 Web Application -> in "select a template" choose Mobile Application