Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I want to know whats's difference between a hybrid mobile app and a progressive web app?
Maybe I know the answer. But I'm not sure and I can't find a clear solution. As far as I know, a native app is a normal smartphone app which was developed with Android/Java or Swift (iOS). I have access to the operating system which runs on the smartphone and hardware near stuff like the battery level.
With a hybrid app, which can be developed with Ionic 2/3 or React Native, I have a few functions and possibilities like the Push Notifications. But less functions and possibilities than in Android or Swift. Hybrid Apps are a mix between native and web apps. So they are developed with different javascript frameworks. Ionic 2 uses Angular 1.x and Ionic 3 now uses Angular 4. I'm not sure if an newer version of Ionic 2 uses Angular 2 or an older version of Ionic 3 uses Angular 2. It's possible that they skipped Angular 2. React Native uses of course React. I have access to the operating system, but as example I can't have access to the battery level.
A progressive web app is a web app which works on the smartphone. I can use pure HTML, CSS and JavaScript or different frameworks like Bootstrap, Angular or React. But I don't have to use Ionic or React Native.
Am I right?
One big difference is that progressive web apps uses a service worker.
I don't know whats the right word. But if I create a new Android app I also can use HTML, CSS and JS inside the Android app. Are this called a progressive web app or does it have also word?
What else are differences between hybrid mobile apps and progressive web apps?
Thank you for your help in advance
Hybrid apps are apps build with web technology (HTML/CSS/JavaScript) and run in a native app using a webview, ie hybrid. These apps are packaged and go through one of the appstores. By using plugins all native functionality can be used. The web frameworks used are not what's making it 'hybrid', it's the web application running inside the native app.
A progressive web app is an enhancement on a 'normal' website giving it superpowers. It is fast, reliable and engaging. It can run outside of the browser being placed on the user's homescreen and it can run offline. It gives the user the feeling it is running a native app, by using modern web techniques native features like push messages (Web Push API). You must use HTTPS to keep it secure.
There is another option that goes inbetween, the Hosted Web App. In this case you are basically creating an empty packaged app that shows your website. Giving you store presence and the benifits of having your website run on its own.
Related
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.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I will soon start mobile development on iOS and I would like to know if it possible to create an app with Go along with React Native (for example) without using Swift or Objective-C.
I searched for answers about Quora and Google, but none are precise enough.
There are alternatives to native iOS apps without Swift or Obj-c, such as HTML5, Xamarin (C#), PhoneGap, Cordova, etc. but these alternatives have sacrifices.
Most of your extra coding time would be invested in workarounds to make these alternative technologies work. If you want your app to perform better than a web app, then you should use Obj-C or Swift.
This is good question, and I did many research on this, results:
The most promising option in Golang is: Package app lets you write portable all-Go apps for Android and iOS
Most applications in Apple’s App Store are written in the Objective-C and Swift programming languages, and developers typically use Xcode to develop their applications (Four Ways To Build A Mobile Application, Part 1: Native iOS).
There are some cross-platform options:
- React Native
- Building HTML5 mobile apps with the Ionic Framework
- Xamarin.iOS
- Develop iOS applications with RAD Studio
- PhoneGap, build cross-platform apps using HTML, CSS and Javascript
- Cordova apps for iOS
- Adobe AIR for iOS, built with ActionScript and Flash as iOS apps
Some relative questions:
Developing cross platform mobile application
How to build a cross platform app
Building Cross Platform app - recommendation
React Native v Xamarin Forms - Choosing Cross Platform App Environment
List of Delphi language features and version in which they were introduced/deprecated
You can build basic (and more with packages) iOS/Android apps using react-native. It is a great tool to build iOS apps using js. There are loads of modules and community support (https://js.coach/) to help you build out of the basics. I've been building apps on react-native and the result is on par with native apps. There is a small learning curve in react-native but it is definitely worth it
I have been doing research to figure out the best way to create a mobile optimized website using Rails variants. I see that Framework 7 does this nicely, but I can't figure out if I can also do this with Ionic Framework? Can I use ionic components to create a mobile website that runs in a plain browser like Safari?
As Ionic works with AngularJS and according that the development process uses a simple http server on the folder /www, you can easily develop a mobile website with Ionic.
You will not have to use Cordova/Ionic plugins. But you'll can use HTML5 API to get geolocation or webcam access, etc.
But it is not because you can that you have to. Give it a try and tell us if you think it was a good idea.
Background: I've recently learned Ruby on Rails and have just learned to use JavaScript as well as JQuery. I've created some web apps using both.
Goal: To create a small e-commerce-like site using Rails backend but optimize for mobile. There will be a shopping cart but no built-in payment system.
I've seen these mobile app frameworks like ionic for mobile but am aware that ionic doesn't play nice with internet explorer for the desktop folks.
My idea is to use a mobile app framework like ionic or such for mobile and using a web framework like AngularJS for the desktop users for the same site. Or use a mobile app framework for mobile and no web framework for desktop?
I'm currently not advanced enough in my development skills to create adapters to use ionic or other mobile app frameworks to work friendly with desktop browsers. I'm looking for the more developer convenient route with style and with less configuration.
Please advise your recommendations and if you think that this setup can be done with minimal configuration with Rails as the backend.
Hybrid solutions will always be less good than native, in terms of performance, size and stability.
But Hybrid solutions are improving with time and ionic is a great solution, it avoids you to develop specific app for each platform.
To develop your hybrid app i warmly recommand you to use AngularJS, to me jQuery is not made to develop big application.
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.