Our project includes a personal account, which works via chrome.
There is a special mechanism in Google Chrome to mitigate the negative effect on the background tabs (https://developers.google.com/web/updates/2017/03/background_tabs).
Nevertheless, for the purposes of our app, we need to disable this function for our app. Disabling via flags is not possible due to several reasons.
As far as we understand, we can solve this problem via PWA (Progressive Web Application). However, we cannot find any references of how PWA behaves in the background mode.
So please provide information - whether there are any restrictions on PWA in the background or the application is always "active"?
Related
might be very basic question but just wanted to clear out my doubt, since I'm seeing PWA is like alternative for native application.
What if browser fail to read/understand manifest file?
what if user is having other/older browser? (most of the time I see e.g of chrome)
after installation what are the browser dependencies for PWA?
Please guide me with the above.
Thanks
One of the more important concepts in a PWA is that it is built following the principle of progressive enhancement, this means that the website would function ordinarily on older browsers (including Safari) and then gain PWA abilities if the user's browser supports them.
Therefore in answer to your three questions:
Website would function as normal without the option to "Add to HomeScreen"
Same.
The PWA runs using the browser, therefore any functionality supported by the browser will be included in your PWA.
I am interested in creating a Google Chrome Extension that changes the appearance of the Google Chrome toolbar for the active tab ONLY IF I'm visiting a particular domain. This change in appearance would be similar to what's already possible with a Google Chrome theme.
I want to create this functionality because I develop and test web applications on both a staging and a production server that have similar domain names, and I'd like an easy visual way to tell whether I'm on either the staging or production version.
So, for example, if I'm facing the staging server, the color of the browser tab would be a light green but if I'm facing the production server, it would be red to alert me that I'm playing with live data.
Thanks!
No, there's no API to style the browser from an extension.
I would suggest altering the favicon instead to visually differentiate the tab, which can be easily done with a content script in an extension.
Perhaps even more useful is styling the background of the page from an extension, e.g. with unobtrusive light-colored stripes - as long as you don't care that the design is not 100% what the customer sees.
I'm doing a little research on how to develop a Chrome app for a project I have in mind. I would like to open my app in a split screen inside a person's browser tab, so that they can still see the webpage in the browser while interacting with my app. (In the same way that the console and developer tools work.)
Everything I've seen so far indicates that apps can only open a new window, not "split the screen". Is that correct? I haven't seen it explicitly stated.
If splitting the screen is possible - what's the notation/api?
The other option I'm aware of would be to create a DevTools extension (that operates in the Developer Tools split screen window.) I'm not sure that's preferable for this particular app, though
thanks.
Yes, this is correct. Chrome Apps cannot integrate with the browser UI, that's a design choice by Google.
If you need to interact with a browser tab, it must be an extension.
A DevTools panel is not a bad idea, since it frees you from the burden of injecting your own UI into the page. Otherwise, you'll need to modify the page's DOM (perhaps by injecting an iframe with your extension's page).
There is a proposal for a sidebar API, but it's not implemented (or rejected) as of yet.
I'm fairly new to Chrome app development and was wondering if it's possible to run an app within Chrome's main window, like the TweetDeck app.
Thanks!
No. Chrome Apps' current goal is to provide a native-like app experience outside the Chrome browser. Today, with the exception of certain privileged APIs, putting an app in Chrome would be... well, it would be a website.
If you want an app in one of Chrome's tabs, why not just build a website? What does the open web lack for your project?
Note that we have been thinking about what it would mean for an app to be a component inside a webpage. You could imagine a Facebook Like button or a Google+ +1 button implemented as an app in a webpage in the same way that those buttons today are usually implemented as iframes. There are some interesting security properties that this approach would bring over iframes. But again, this doesn't seem to be what you had in mind. What you had in mind appears to be a regular website.
What is the difference between Chrome Apps and Extensions?
What can you do with apps that you can't do with extensions or vice versa?
Quoting from https://developer.chrome.com/webstore/apps_vs_extensions:
We’ve already had the concept of “web apps” in the browser for a few years, as something more rich and interactive than a website, but less cumbersome and monolithic than a desktop application. Examples include games, photo editors, and video players; all of these categories are viable as tightly focused apps running inside the browser. Google Chrome is just formalizing the web app concept in a way that will be familiar to anyone who’s used apps on a smartphone.
Extensions ... extend the functionality of Google Chrome and the websites being viewed in it. For example, they can extend Google Chrome by adding a new button to the address bar, such as an ever-present currency converter. Buttons like this can also apply to the current website being viewed—for example, click the currency converter button to convert all prices on the website you’re viewing. Similarly, you can introduce new items to the context menu, change the behavior of the omnibox (the input field on the address bar), access the user’s browsing history (with consent), and much more. You can alter web pages too—for example, embed a “mail this” button next to every link in every page, or customize the layout of your favorite website.
Compared to apps, extensions cut across websites and web apps; they are usually in effect across all websites (though some are site-specific). Apps don’t combine with other apps in this way; they run standalone, like any regular website.
(emphasis added)
From what I can tell, Chrome apps are just web applications that are registered with Chrome's Web Store (Gmail, e.g.). They're basically just glorified bookmarks. Google seems to have introduced them in order to make their browser more "operating system"-like, in preparation for tablets running Chrome OS. Since Chrome OS won't have any native applications apart from Chrome, they need some way for you to be able to "install" applications... even if those applications are just websites.
Extensions can actually affect the way that the browser behaves (ad blocking, e.g.). They can add buttons to Chrome's toolbars, intercept web requests, change the DOM, etc.
Here is an excellent resource from the Google Chrome team explaining the differences in detail.
It also contains a decision tree flow chart shown below.
Please refer to the following link:
(chrome app vs extension).
It basically says that there are two kinds of apps: hosted and packaged. Hosted apps are glorified bookmarks. But packaged apps provide you with a somewhat best of both worlds features- of both extensions and apps.
Extensions of course extend the core browser functionality providing little or no additional UI apart from what is already provided by chrome.
There are three Chrome distribution channels for developers.
In order of increasing functionality they are:
Chrome extensions — little to no UI
Chrome hosted apps
Chrome packaged apps
More information and fuller discussion is contained in this video.
quoting from http://www.chromeplugins.org/extensions/chrome-web-apps-extensions-spot-the-difference/
(as the explanation is very good)
Major Differences Between Chrome Extension and Chrome Web Apps
One of the major differences between Chrome extensions and web
applications is their location. Majority of the Chrome extensions can
be downloaded from Chrome Extensions Gallery whereas Chrome Web Apps
can be installed from Chrome Web Store.
Another major difference between Chrome extensions and web apps is the
fact that while extensions are used to enhance the functionality of
the Chrome Browser, web apps run within the browser having a different
user interface. Unlike web applications, extensions have little or
sometimes no UI component.
From a technical perspective the major difference between Chrome Apps
and extensions is the presence of “launch” parameter in apps which
indicates Chrome to show when user starts an application installed by
him/her.