Are there standalone libraries for Firefox Sync? - firefox

For example, I'd like to write a script that retrieves all my bookmarks that contain the word "html5" in the title, and adds the tag "web-development" to those bookmarks.
I know there is an Client API specification, but it seems like a complicated protocol, and I figure someone must have developed a library already. It's hard to see which documentation and libraries are up-to-date. There's this page on the Mozilla Wiki, but it has this message:
Warning: Most of the information on this page is outdated. Weave has been renamed Firefox Sync and is now part of Firefox 4. Many APIs documented here have evolved.
What's the current version of the Firefox Sync protocol used?
I've found this code inside Android Sync (a month old), and weaveclient-python (2 years old). Are there any standalone libraries I can use in my own programs?

It seems no stand-alone lib to use. You can also check shaman's project page
https://github.com/emergentdotorg/shaman
Hope this can help.

There is a FirefoxData-android library which can help you to integrate an Android app with Firefox Sync https://github.com/mozilla-mobile/FirefoxData-android

Related

macOS Performance - 2.5.1:Your app uses or references the following non-public API

I submit the APP has been rejected several times to Mac AppStore. it is a video application which base on VLCKit, only used the third-party library also is VLCKit. here is the app rejection issue :
"Performance - 2.5.1
Your app uses or references the following non-public API(s):
'/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices'
: CGSCreateRegisteredCursorImage
The use of non-public APIs is not permitted on the App Store as it can
lead to a poor user experience should these APIs change.
Next Steps
If you have defined methods in your source code with the same names as
the above-mentioned APIs, we suggest altering your method names so
that they no longer collide with Apple's private APIs to avoid your
application being flagged in future submissions.
Additionally, one or more of the above-mentioned APIs may reside in a
library included with your application. If you do not have access to
the library's source, you may be able to search the compiled binary
using "strings" or "otool" command line tools. The "strings" tool can
output a list of the methods that the library calls and "otool -ov"
will output the Objective-C class structures and their defined
methods. These techniques can help you narrow down where the
problematic code resides.
If you are unable to reproduce this issue, ensure you are testing the
exact version of the app that you submitted for review, and that
you're doing so in a minimally privileged environment. See Technical
Q&A QA1778: How to reproduce bugs reported against Mac App Store
submissions.
For information on how to symbolicate and read a crash log, please see
Technical Note TN2123 - CrashReporter."
That made me crazy , according Apple's feedback, I have used "strings","otool -L" and "otool -ov" , but didn't find relevant content. how to solve this problem? please tell me.thanks!
VLC calls CGSCreateRegisteredCursorImage() in code used for screen capture.
You will probably need to remove this functionality from libvlc to make it pass App Store API checks.
More importantly, though, VLC (and libvlc) are licensed under the GPL. Please make sure your application will be compliant with this license before you proceed.

Extension support browser.runtime.connectNative

We want to use extension replace with plugin, but we need use extension to download files and launch the file such as exe file.
Is there a method to do?
As pages said, Firefox extension will compate with Chrome's extension, we found Firefox support most APIs, but do not support runtime.connectNative() and some native APIs.
Does Firefox support them? If support, when will support? And how to support Native's extension?
The native messaging API is not yet implemented in Firefox WebExtensions, but it's on the future roadmap.
In the meantime, you can use the older SDK API system/child_process to communicate with external binaries over a pipe interface.
Also, if you want to contribute an implementation of native messaging to Firefox WebExtensions, I will happily introduce you to people who can help with mentoring and code review.
The Firefox WebExtension API will support connectNative() from version 50 on. The documentation is already available. You can try out the API using Firefox Developer Edition 50.

Is there an Adobe AIR like product for just HTML5 (no flash) on Windows

I would like to create a Windows desktop app using HTML5 features, specifically H.264 video,Web SQL Database,FileReader API. I don't want to use AIR (which currently does not support the video tag, instead uses Flash). Ideally I would like an exe file that just wraps the latest version of webkit in a basic window. It should be stand alone, not rely on the user having Chrome etc. installed. It could load an index.html file in the same directory as the exe. That is it.
I have been unable to find anything like this. I was going to build it myself using QTWebkit but the latest version (4.8.0) does not support the Video tag due to some kind of build issue. I assume the 4.8.1 version will fix this.
Does anyone out there know of something like this that is available now?
For anyone coming across this, Titanium for desktop is no longer supported by Appcelerator, but the project is still supported as an open source initiative. As of today (10/14/2012), it is called TideSDK. According to their Twitter account, they're behind in the 1.3 release due to some sponsored work that will end up in the code base.
Additional options not yet mentioned include AppJS (OSS, requires node.js) and Sencha Desktop Packager (quite pricey).
I think titanium is not totally gone. There is this stuff called tideSdk
I couldn't try it out yet also , so video support and the codec are open for your exploration. Here is how they say:
Create multi-platform desktop apps with HTML5, CSS3 and JavaScript
TideSDK is the new standard for creating beautiful and unique desktop
apps using your web development skills.
I recently thought about doing the same thing, you can still do it with air without using flash, but you could also use Chrome Packaged apps, mozilla prism (although inactive today) or Microsoft HTA (html application).
You can think of using a framework that does the browser embedding for you like Titanium. It's mostly used for creating apps that can be published to iphone, android, and windows devices. It will create a windows MSI install.
Another option is to use the CEF project ( Chromium Embedded Framework for C/C++). I havn't looked at it much, so I can't tell you how difficult/easy it is to work with. Their main site also has wrappers for Java, .NET, and other languages.

Executable HTML/Javascript Applications on the Desktop?

I'm wondering if there is a way to create a Desktop Application that is essentially a Browser, except that it only runs my Application, doesn't need installation and is a static executable that contains the HTML/Images/CSS/JavaScript packaged into it, with an option to access arbitary embedded resources through JavaScript?
I believe Mozilla/Firefox allows this through their XUL Framework, which is actually used for Applications (see Celtx). However, the last time I looked into it (~3 years ago), it was a horrible experience and overly complicated.
Has this changed? Or is there a WebKit based option?
You should try Chromeless.
.. doesn't need installation and is a static executable that contains the HTML/Images/CSS/JavaScript packaged into it, with an option to access arbitary embedded resources through JavaScript?
Chrome supports .crx files which is essentially a zip file with the resources archived into it. It doesn't technically require installation since it's run on the Chrome browser itself.
I know it's not directly relevant to your question but I think building web apps with HTML5, CSS3 and JavaScript is the way to go. You can even package it and have it install like an app and distribute it via an app store even.
I went with XULRunner in the end. The latest version is much improved over the one I looked at several years ago.
You could use NW.JS:
https://github.com/nwjs/nw.js
NW.js is an app runtime based on Chromium and node.js. You can write
native apps in HTML and JavaScript with NW.js. It also lets you call
Node.js modules directly from the DOM and enables a new way of writing
native applications with all Web technologies.
Basically you create a folder with your entire html app. On Windows, just add 4 files (or more depending on your needs): package.json, nw.exe, nw.pak, and icudtl.dat. When you run nw.exe, your app will launch in a packaged version of chrome with node.js support. You can access the file system using node commands directly from your original html.
The drawbacks: NW adds ~60MB to your application and additional memory overhead.

Use Google Chrome/ Chromium instead of WebKit on MacOS

I would like to use Google Chrome instead of the WebKit Framework in one of my projects. I found the 'chromiumembedded' project for Windows but nothing similar for Mac. Best would be to have it in form of a Framework to just drop it into a XCode project.
Question: Is there an easy way to integrate the Webkit of Google Chromium in own MacOS X projects?
There are xcode project files throughout the Chromium code and you'll find that WebKit has its own xcodeproj files. Note that Chromium's WebKit routinely merges with the trunk WebKit and upstreams its changes. I don't really see why you'd want to go through the trouble of pulling from the Chromium's WebKit tree rather than getting it from the head WebKit revision. However you should be able to grab the {$chromium_trunk}/src/third_party/WebKit directory to get Chromium's version of WebKit. There aren't any dependencies on the Chromium browser specific code so that won't be an issue.
What are you trying to get from this; a rendering engine or a browser? The ambiguity in your question leaves a lot of confusion in interpretation.
If your looking at embedded browsers you may want to check out Android's WebKit browser. Android is open source as well.
Are you aware that Google Chrome already uses WebKit?
Quote from here
We owe a great debt to many open source projects, and we're committed to continuing on their path. We've used components from Apple's WebKit and Mozilla's Firefox, among others - and in that spirit, we are making all of our code open source as well. We hope to collaborate with the entire community to help drive the web forward.
Answering to my own question:
https://bitbucket.org/chromiumembedded/cef
Since they don't seem to have a working Mac version up for the general public, I would assume that this does not exist unless you happen to be a Google employee.

Resources