I'm planning to make a Webapplication for Web with should also work as PWA and TWA (on iOS and Android).
Now i'm evaluating if i can use some features like camera, geolocation, accelerometer, notifications and some more.
I tryed to make a demo project with CapacitorJS and wondering why i need to add native platforms to target and why there is a seperate folder "android".
I just want to create one Website/PWA which should run as Website, on iOS and Android (in Browser) and not start a second or third seperate project for iOS and Android.
How can i use CapacitorJS to target the Web and when the website is called from iOS/Android than the native functions from iOS/Android are used?
You can't use the native code in a TWA or PWA, that's the whole point of the native platforms, to use native code when the web don't have a proper equivalent.
With Capacitor you use the same code for web, native iOS and native Android, is up to you if you want to use native iOS and native Android or not, but to use it you have to publish the app on the App store and Play store, the PWA will always use web APIs.
I doing a port of my Phonegap game to Windows Store. I have created a javascript project for the purpose. I have no problems connecting to the basic phonegap distribution (phonegap.js) but when I comes to phonegap plugins I have no idea how to add them to my solution...
For example I need "device.uuid" which is found in the Device-plugin.
Does anyone know how to use a Phonegap plugin when developing a javascript Windows Store app powered by Phonegap?
From the PhoneGap documentation found at http://docs.phonegap.com/en/3.3.0/cordova_device_device.md.html#device.uuid
Windows Phone 7 and 8 Quirks
The uuid for Windows Phone 7 requires the permission ID_CAP_IDENTITY_DEVICE. Microsoft will likely deprecate this property soon. If the capability is not available, the application generates a persistent guid that is maintained for the duration of the application's installation on the device.
Per the documentation, as well as Apple's stance on not using uuid anymore, I would recommend against using it. I know that stinks because it is a nice mechanism for activating/tracking devices and licensing for enterprise apps (what I was using it for). But, there are other good mechanisms for doing this if you search a bit.
Aside from that, your question is really about how to get the DEVICE plugin going. I would again refer back to the above link (just scroll to the top) and note:
Accessing the Feature
As of version 3.0, Cordova implements device-level APIs as plugins. Use the CLI's plugin command, described in The Command-Line Interface, to add or remove this feature for a project:
$ cordova plugin add org.apache.cordova.device
That command should be ran from the commandline and while in the directory/folder of your application (that you are building). This causes the config.xml to be updated and the system to download the necessary files to support this functionality on various platforms.
After doing so, the next time you issue a phonegap build <platform>, it will merge in the settings and copy the appropriate plugin files.
EDIT:
Windows Store (Windows 8) is different than the approach for Windows Phone 7/8. For that platform, see the platform guide about using Visual Studio (express edition will work) by going here.
Do I need to install Phonegap libraries or is it enough to copy them to a place where the app scripts stay?
I am developing an app in javascript,html,jquery,css php ect using Dreamweaver on Windows. I want to use cordova-2.0.0 which is the last version of Phonegap for uploading pictures from an album or from capturing them. I have grabbed the full example from http://docs.phonegap.com/en/2.0.0/cordova_camera_camera.md.html#Camera This code requires src="cordova-2.0.0.js" and the problem is I do not know if I should install Phonegap or copy its libraries to a place that the sample script can see them.
I haven't done it without xcode so maybe not the best answer however you could try IBM Worklight which is an eclipse based IDE that has PhoneGap or alternatively would be to look at something like Sencha Touch which has native development capabilities in HTML5 as well.
You copy the PhoneGap libraries to a suitable location and then you import the files into your application project. PhoneGap homepage provide details on how to do this.
Since you don't want to use Xcode, I'm assuming it is because you are using Windows. Have you seen this guide about creating Phonegap iOS apps?
Detailed Guide for setting up building iOS apps without a Mac
EDIT: If you are trying to create a web app that is accessed from Safari, and you are trying to upload photos, then you should probably read this question
Team,
I'm new to titanium. I'm working on creating enterprise application for iPhone. I need to know is there any way to communicate between two iPhone applications? Where as one application is created as native iPhone application using objective c and other is created using titanium framework.
Kindly share ur thoughts how to do this.
Thanks
Shatthi
The Titanium application is actually converted into a native application. You can actually open the build' project in xcode and further develop it there. So there should be no difference to it.
On the other hand, communicating between iPhone apps is not really possible with apps. You can however open links with a prefix to other apps. This is explained here: http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/
I don't know the support for Titanium to actually create the url catchers. It can be done by Xcode as explained in above link. But because you want to communicate TO an native-build app, that app only needs to have the support to understand those links
You could also use this approach: link between apps modifying the editing menu (bubble-popup menu) - a similar way to do this
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are some solutions for distributing an HTML5 based desktop application?
I want to be able to distribute my HTML5 app as a standalone desktop application on Windows, OSX, and Linux. I would like for people to be able to double click my app icon shortcut to run my program.
I don't want the browser window showing at all, just my app. Is this possible?
HTML5 Apps in 2014
Frames by chrome/webkit
Electron (former Atom Shell)
Electron is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux. (source)
The folks at github use this to provide their code editor Atom as an app. It has an documented api and a help channel on the official atom forums.
Node-Webkit, the most minimal approach
node-webkit is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScript with node-webkit. 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.
Intel is behind this (?). I've been told it's very rough around the edges.
Brackets Shell, the sandbox of Adobes code editor (and base of Adobe Edge)
Note: The brackets-shell is only maintained for use by the Brackets project. Although some people have definitely had success using it as an app shell for other projects, we don't provide any official support for that and we haven't done a ton of work to make the app shell easily reusable. Many people will likely find it easier to use a project like node-webkit, which is more generic by design.
says the readme, but there are quite a lot of folks out there who did it nevertheless.
Frameworks + Tools
Adobe AIR, as another answers suggested.
The Adobe® AIR® runtime enables developers to package the same code into native apps for Windows and Mac OS desktops as well as iPhone, iPad, Kindle Fire, Nook Tablet, and other Android™ devices, reaching the mobile app stores for over 500 million devices.
Sencha is a company which sells tools for app developers, including html5 app development and distribution.
Inactive approaches
Tide SDK (archived on 2015-07-12 at archive.org), beta version, discontinued on 12th Jul 2015
http://www.tidesdk.org/
XULRunner from Mozilla may do the trick for you but adds some overhead.
app.js ended at 28th Oct 2013 for being surpassed by (https://github.com/rogerwang/node-webkit)[node-webkit].
Because it is simple and yet powerful. Using AppJS you don't need to be worry about coding cross-platform or learning new languages and tools. You are already familiar with HTML, CSS and JavaScript. What is better than this stack for application development? Beside, AppJS uses Chromium at the core so you get latest HTML 5 APIs working. So and focus on the task your application should do.
Mozilla Prism is decomissioned, their slugline was:
Bringing web applications to your Desktop
Prism is an application that lets users split web applications out of their browser and run them directly on their desktop.
You can use AppJS which uses Nodejs and Chromium to build html5 apps for desktop. check it out: http://appjs.com
Github Link: https://github.com/appjs/appjs
Definitely check out Titanium. Just today I took a functional HTML5 app and with a few minor modifications was able to drop it into Titanium and package it up for Mac, Windows and Linux.
And it also supports PHP, Python and Ruby if your app requires "server-side" processing.
You might want to look at XULRunner from Mozilla. At a 10000 foot level, the FireFox browser is a XULRunner application (obviously a very sophisticated one, but...). But XULRunner lets you use Javascript and XML to create applications, and the browser window is one of those components, so you once you get your basic window up, you can likely do pretty much anything you want.
Also, depending on the sophistication of your application, there are several "widget" frameworks (like Dashboard on the Mac, Yahoo Widgets, Windows Gadgets) which are basically HTML runtimes as well.
chrome can do what prism does See -- Tools-> Create application Shortcut
You can try Phonegap, there is a Windows Desktop Port: https://github.com/davejohnson/phonegap-windows
I tried the mac-port, it worked well. I didn't try the windows version yet.
[On Windows only] try HTML Application (HTA) approach - simply save your .html file with .hta extension. It also provides some additonal settings to get rid of browser window, set level of trust for the app, etc. Read more here: http://en.wikipedia.org/wiki/HTML_Application and here http://technet.microsoft.com/en-ca/scriptcenter/dd742317.aspx
Adobe AIR is meant to let you work primarily in HTML, CSS, and JavaScript while providing a desktop application. (Caveat: I haven't actually used it myself.)
Check this new project from Mozilla. You can create desktop apps too : https://developer.mozilla.org/en/Apps
Detail here: http://hacks.mozilla.org/2012/05/desktop-apps-with-html5-and-the-mozilla-web-runtime/
Hmmm... a virtual machine for HTML5/CSS/JS... sounds like a browser. :)
Maybe Adobe AIR would do the trick, because it's based on the idea of bringing rich Internet apps to the desktop. I've never used it, however.
One thing you could do is develop a very basic desktop app that uses some kind of prepackaged web browser control (e.g. if you're developing for a Mac, just drop a WebView in the window and add some basic code to load your html upon app startup).
For mobile phones you can use PhoneGap http://www.phonegap.com/ . Probable with some more coding you can use it for desktop.
Sencha http://www.sencha.com/
Pokki http://www.pokki.com/
Currently the answer is that are different solutions of each platform.
For MAC OSX You will create a Cocoa Desktop App with a UIWebView
For Windows you will make a .NET desktop app with a browser component.
You can use a embedded server like Tomcat or maybe Apache.
I use tomcat for a complete java web application. Run inside browser, but the application need be installed. The shortcut to start the app, start the service and open the browser.
Or try use webkit
A bit late, but you can use a portable version of google chrome, and then create a small windows app to install it, and create a .ink shortcut to its --kiosk and app mode.
Kinda like chrome application shortcuts, but where you install chrome for them.
If you just need it for Windows, you should consider HTML Applications (HTA), it's been part of Internet Explorer since IE 5 (10+ years).
No server required, full HTML formatting, full access to local resources (even COM / USB ports), awesome. Also, easy to debug with Visual Studio, just bind to MSHTA.exe
You can enable HTML 5 in HTA's with the following meta tag:
<!-- enable html5 features -->
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>