Mobile app framework for mobile and AngularJS for desktop? - ruby-on-rails

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.

Related

What's the difference between hybrid and progressive web apps? [closed]

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.

Can I use Ionic Framework to create a mobile optimized website (not just a mobile app)?

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.

Integrate Worklight project in existing IOS project

I have to integrate a Worklight project into my existing IOS project (Objective-C)
I have googled but i have not found a clear "guide" on how to perform this integration.
Could you drive me in the right way of integrating this project? The idea is to have a button in my IOS project that open a WebView that loads the pages (HTML5 and javascript with AngularJS and Jquery) contained into the Worklight project.
Thank you so much
There is no guide for this approach, as I don't think it is sustainable.
In Worklight you currently have two approaches:
A native application to which you add the Worklight Native iOS SDK, allowing you to implement security features, invoke adapters and use various other features
A Hybrid application to which you can add native functionality (via Cordova or otherwise), and use the entire set of features provided by Worklight
It is important to note that a Hybrid application is a native application. It is a fully actual real native app. It is a native shell that calls a webview (provided by Cordova) into which the Worklight JS framework and the application web resources are loaded, and thus you see your web app. A Hybrid application allows you to mix & match web and native in one.
So what I am saying is that you can't take an existing iOS app and transplant it into another existing iOS app.
It sounds to me like what you are essentially trying to do, is what a Hybrid app is. A native app that displays web content...
So:
This is not an approach Worklight officially supports. By doing this, you are on your own
You could maybe take the guts of a Hybrid app's iOS environment (myapp\iphone\native) - its classes and resources and add them into your existing app and load the main class which theoretically, or at least the wanted effect, will load the Cordova webview. But I give this low chances of success...

Mobile Framework for Meteor Mobile Web App

I'm new to Meteor and loving it but I'm having a hard time figuring out an ideal mobile framework to use for Mobile Web Apps, not native or hybrid strictly Mobile Web App (HTML5, CSS, Javascript) initially. Down the road I will create native versions with phonegap or native sdk.
Currently I've been using Bootstrap to make my apps responsive but ideally I'd like to use JQ Mobile for listviews, sliders, theming and other things.
I get the feeling that the main issue is the JQM Ajax Navigation and some DOM issues.
Any suggestions would be great, jQuery Mobile would be ideal but I get the feeling it doesn't play well with Meteor.

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