Unclear Difference between Phonegap and Apache cordova - ios

After reading this article still i am not clear with Phonegap and Cordova. Some where said that Cordova is an engine which power up the Phonegap (like webkit in browser) My assumption is
Phonegap -- Adobe product --> used for taking remote build Apache , Its not open source
Cordova -- ASF product --> support only native machine build. (For
an example if developer using Windows PC. To take build for IOS, he needs to setup Cordova environment in MAC too), but free of cost when moves to production.
Other than this anyother major concepts left. Best answer for this post will improve better understanding on this basic concepts.
http://docs.sencha.com/touch/2.3.1/#!/guide/cordova what about this one still i am in confused state

PhoneGap is Cordova with some additional tools such as PhoneGap Build (which takes your HTML and packages it into the native installables (APK/IPA/XAP/etc.). Look at docs.phonegap.com and http://cordova.apache.org/docs/en/3.3.0/index.html you'll see they are exactly the same.
Cordova is a bridge between JavaScript and the native hardware. This means you can write a web app which runs on all platforms and uses Cordova to call native hardware calls through an abstract interface (i.e. the Cordova JavaScript library). E.g. I might need to take a photo, save it to the device's storage and then upload it (admittedly, HTML5 supports this out of the box anyway) - but with Cordova I can do this using the same JavaScript code - so much less coding effort.
The difference between a web app you access browsing the web, and a Cordova web app, is the Cordova web app is package into native binaries to imitate a native app (which is accessed through the device's app store and installed/updated like a native app).

Related

Technical differences between PWA and Hybrid App

What are the differences between a PWA and a hybrid app? This question was asked before but I haven't found found a proper answer to my question.
I know a PWA runs in the browser and you get a hybrid app from an app store.
But both are using JavaScript with HTML and CSS and both enable offline support and I can access native features like camera and local storage.
Once I have added a PWA to my Homescreen, it uses a web view to render the app right? And a hybrid app uses a web view as well, so what exactly are the differences between PWA and a hybrid app?
With Ionic I can even use the exact same code for a pwa and a hybrid app...
Roughly it is like this below:
web app (PWA) is just a web-site that declares certain capabilities using manifest file etc which can get it some special treatments (like leverage service worker, sign up for web notifications, go full screen etc IF target browser supports it). As a web-app it is super limited in its "privileges" on a system level (like persistence quota etc)
hybrid app (like Cordova for example) is a binary code that is "wrapping" your web-code and exposes certain "native" SDK capabilities via plugins. You can potentially also write your own plugin and in theory access any native SDK API this way. But since your main app code is still a web-app that runs inside of a webview it still has a lot of penalties like performance etc. But at least you can get things like storage etc.
native app is a binary build using target platform's SDK. That in
theory gives you max access to capabilities and performance at
expense of having to write separate code for each platform.
Makes sense?
Progressive Apps
Today, these apps only work on Opera, Chrome, and the Samsung mobile browser. However, these browsers take up only less than half of the mobile browser market.
In some devices, some of the features will not work. For instance, notifications on iOS devices will not work.
In some apps, cameras, fingerprint scanner, and GPS may not work or work with glitches.
Cordova/ Ionic based hybrid apps
Making the hybrid apps run efficiently on multiple platforms is no easy task. In some instances, it could cost almost the same as running native apps. The cost will depend on how close you want to get to the native app experience.
Since these apps will launch using a browser-like component, they are only as good as the component on which they run. Earlier, Google and Apple did not agree on the WebView. While it has vastly been improved, it does not have the same efficiency as running a native app.

Does flutter SDK provide any framework to develop apps for Windows phone?

I want to know whether google is planning to support any other platforms other than iOS and Android for Cross platform development using Flutter.
Like React native windows for React native does flutter have framework that would support windows phone development?
Nobody can answer this question except Google, however it seems very unlikely that anyone would put effort into Windows Phone when even Microsoft are not:
Of course we'll continue to support the platform.. bug fixes, security updates, etc. But building new features/hw aren't the focus. 😟
https://twitter.com/joebelfiore/status/917071399541391360
As for:
support any other platforms other than iOS and Android for Cross platform development using Flutter
This is not officially supported, but lots of people in the community are interested in running Flutter on desktop and have been playing around with it. Maybe in future it'll cover more platforms even if they're not official or from Google.
https://github.com/google/flutter-desktop-embedding
A job we are doing right now has windows phone compatibility as a requirement.
My suggestion is to look into exporting Flutter to Web and then making a windows app which is just a full screen webview and loading the flutter web app in the app's internal webview.

Is it possible to convert angularjs web application to IOS app with Ibeacon search functionality?

I have developed a web application using angularjs, now i want to convert ios application with iBeacons device searching functionality.
Is it possible to do this, any one please give me advice on this?
Yes this is possible, you can repurpose your Angular single page app into a Cordova/PhoneGap container, then use appropriate plugins (which bridge platform specific native code to Javascript) to add iBeacon or other beacon support. If you don't find plugins that do what you want, you can create your own if you are comfortable working in the native languages of the platforms you want to use (Java for Android, Objective C or Swift for iOS).
Example plugins that already exist to help with this would be:
cordova-plugin-ibeacon
ngCordova Cordova Beacon
There's an example of how to go about this using Angular JS / Ionic framework here.
There is no way to directly scan for beacons in JavaScript. This is true whether you are talking about a web app running in Mobile Safari on iOS or inside a UIWebView container within a native iOS Web app.
If you want to combine JavaScript-based apps with beacons, the alternative is to build Hybrid apps using technologies like Cordova or Ionic (which is built off of Cordova). You can then use Cordova plugins that let you interact with native code that does the beacon scanning, and pass it back to your JavaScript application. One such plugin that accomplishes this is here:
https://github.com/petermetz/cordova-plugin-ibeacon
There are limitations with this approach. Beacon scanning typically has to be in the foreground, and you can't really wake up the app on beacon detection.
Full disclosure: I am the lead developer on the Android Beacon Library open source project upon which the above plugin is based.

Phone gap and cordova?

I am planning to create a project in phonegap. But I am bit confused with the same. In phonegap website, when I checked the documentation, I could see two command, one is for cordova and the otherone is for phone gap. I have created the application with cordova command line tool. My client is clearly mentioned, he needs phonegap. But I have started with Cordova. So is it possible to integrate phone gap in my current project.
See this link it will be clear PhoneGap, Cordova, and what’s in a name?
PhoneGap is a distribution of Apache Cordova. You can think of Apache
Cordova as the engine that powers PhoneGap, similar to how WebKit is
the engine that powers Chrome or Safari. (Browser geeks, please allow
me the affordance of this analogy and I’ll buy you a beer later.)
Currently, the only difference is in the name of the download package and will remain so for some time.
Look at this answer from Avhishek where there is more details about how they differ
So it doesn't actually matter much which command you are using. You can use cordova instead of phonegap..Phonegap is build on top of cordova.
Look at both documentation (phonegap & Cordova) they are quite same.

Is PhoneGap only for NativeApplications or for remote web app HTML pages too?

I am new to PhoneGap I want to know whether PhoneGap is only for Native Applications or for remote web app HTML pages too. Please any one answer me.
Thank you Lakshmi
Phonegap! enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of lower-level languages such as Objective-C/core-java. The resulting applications are hybrid, meaning that they are neither truly native (all layout rendering is done via the webview instead of the platform's native UI framework) nor purely web based (they are not just web apps but packed for appstore distribution, and have access to part of the device application programming interface). You can try Sencha, Ext-JS HTML5! frameworks to create remote web app HTML pages.
Phonegap! enables a web developer access to mobile devices's phonebook, Geolocation, compass, accelerometer,etc.(A browser is not exposed to these APIs')
Appcelerator Titanium! is another platform for developing mobile, tablet and desktop applications using web technologies.
PhoneGap can be used on webapps too, if loaded through PhoneGap. It won't work in mobile safari directly, you must also open the site via PhoneGap (the app on iDevices)
The power of Phonegap is that you can build apps with web technologies and then package them to install as native apps from the app stores. To the user there is no differentiation between a pure native app and a phonegap app. The average user just sees an "app" that they are used to. If you're going to build a vanilla mobile website, you won't have access to the native libraries which is what Phonegap is intended to leverage.

Resources