Can I use Web APIs in chrome apps - google-chrome

I want to use web workers in a chrome app I plan on creating. But not certain if I can use all web apis in chrome app (or in this case web workers).
So my questions is: Can I use all web apis that the chrome browser can use in chrome apps

So I found the answer to it just a few minutes after posting this question
According to the Web API section in the chrome apps documentation:
In addition to the chrome.* APIs, extensions can use all the APIs that the browser provides to web pages and apps. If the browser doesn't support an API you want to use, you can bundle additional API libraries into your extension.
Don't worry about the term 'extension' in the quote above, it seems the documentation was copied from the extensions' web api section.

Related

Can i use Google app script for developing google chrome extension

Can we publish google app-script code in to a chrome extension tool. So far we developed a web app from app-script, which is working as a web application. What need to be done to convert it in to a chrome extension from google app-script Editor. Appreciations are shared for valuable suggestions.
I've developed both GAS Web Apps and Chrome Extensions and I can say with certainty that you cannot use Google Apps Script's GUI editor to develop a Chrome extension. They are two very different beasts.
For one, Google Apps Script, uses its own flavor of server-side javascript. Plus it leverages libraries and services unique to its platform.
A Chrome extension uses client-side javascript and it too has its own libraries and services.
Moreover, they handle user authentication a bit differently (even though they are leveraging the same OAuth2 flows under the hood).
But you might be able to integrate the two. You should be able to make POST requests to a Web App from a Chrome Extension, so that's one approach.
However GAS scripts are limited by quota restrictions so you might be better off rebuilding your app from the ground up as a self-contained Chrome Extension (the better option in my opinion).

Does JxBrowser implement Web Workers API and other new HTML5 API's?

I want to use service and web workers in a web application executed inside JxBrowser. It's said in JxBrowser's homepage that "supports the same web standards as Google Chrome", but haven't found anything inside its documentation about web workers, besides a reference to service/web/shared workers in a constants class file that doesn't clarify much about.
Anyone having used this features inside JxBrowser?
Does it implement Web Workers API?
What about other API's such as Cache API?
If anyone knows about this issues would be great, thanks in advance.
UPDATE:
Web storage it's supported
The "supports the same web standards as Google Chrome" phrase means that the web pages developed with the latest web standards will be displayed in JxBrowser exactly as in Google Chrome.
JxBrowser doesn't provide Java API for the all web standards. It provides Java API for Web Storage, but it doesn't implement Web Workers API. I mean it doesn't allow working with Web Workers API directly from Java code, but you can work with it from JavaScript on the loaded in JxBrowser web pages.

chrome.gcm is only available to apps and extensions, how do I use it as a normal website?

I have heard that push notifications are now supported in Chrome (including Android) as a website, but the documents I can find talk about chrome.gcm as only available in a Chrome App or Chrome Extension. What do I do?
chrome.gcm was a proprietary push API built for Chrome Apps and Extensions which the user has to install.
There is a new API called Push API (spec) which is a web standard based on service workers, and available to normal websites.
This walkthrough explains how to send notifications from your website and should get you up and running: https://developers.google.com/web/fundamentals/getting-started/push-notifications/

Enable Chrome Extensions in Google Chrome App webview

I'm building a Google Apps Chrome App (not extension but app) with gmail, calendar, etc.
I would like to run extensions from regular chrome in my app. For example, rapportive is a fantastic extension for gmail. But it seems that extensions do not run on pages hosted in a webview.
Does anyone have an idea of how enable extensions in chrome apps?
Extensions in Chrome Apps aren't available by design. A webview is meant to facilitate displaying web-based content that you control, in which case you'd have the ability to alter that content at the server, rather than relying on an extension to do so.
Incidentally, you should take note of the applicable terms of service, which won't let you publish the app you've described in the Chrome Web Store: "Do not post an app where the primary functionality is to link to a website not owned by the developer."

Chrome extension or chrome app?

I would like to create an extension or app for the Chrome browser which would require access to a user's Google Calender (for creating new appointments).
I am unsure of which technology to better research and use, Chrome extensions or apps. My "app" wouldn't need much of a GUI, so I'm leaning towards extension — but I don't know if this would pose any difficulties for accessing a user's Google Calender to add an event.
Anyone one have any idea which technology is best for this situation, and why? Thanks!
Either, or... Go with an extension if you'd like.
I assume you've looked at the API reference?
https://developers.google.com/google-apps/calendar/
From there, I'd imagine you'd just need OAuth to authenticate the user. Here's the JS library:
https://code.google.com/p/google-api-javascript-client/
There are pros/cons of each types, apps or extensions.
Apps
If you would like to create a client application of Google Calendar which has many rich GUI components, this type will become a better solution.
In addition, Chrome apps can communicate with many hardware devices and other servers. Of course, your Chrome app can become as a server (that is, your app can open a server socket and accept a request from other client apps).
Chrome apps can be executed not depending on your Chrome Web browser. That is, Chrome apps cannot access to a context of your Chrome Web browser.
Probably, you don't want to get the pros above, I guess...
Extensions
If you would like to create a small UI for posting your schedule to Google Calendar, this type will become a better solution.
In addition, Chrome extensions can access to a context of your Chrome Web browser. That is, your extension can get page contents of each tab and inject your CSS and/or JS code. For example, your extension will get a URL of some opened tab and include it in a body of the posted schedule.
Chrome extensions completely depend on your Chrome Web browser. That is, your extension cannot execute independently.
Also, generally, high cost will be needed to develop Chrome apps than Chrome extensions. As the result, you should choose Chrome extensions, I believe.