Bootstrap or Jquery Mobile for Mobile website - angularjs

I am planning to do a mobile website. Means it will be targeted only for only mobile phones, not tablets or PCs. I want it to have good performance (high speed).
I want to know whether I should use Bootstrap 3 or JQuery Mobile. Also I am using AngularJS. Which will serve my purpose in a cleaner way and more friendly with AngularJS. Any suggestions ??

Related

Ionic Framework and Mobile Web

The problem: build a somewhat complex form that submits data to MySQL+PHP back-end. Requirements include:
Accessible from browsers running on mobiles, tablets and desktops
Must be completely platform independent; works well on Edge, Safari, Chrome, and other modern browsers.
Must be implemented so that in the future, native versions can be implemented using the same code-base.
Based on my research, Ionic seems to be the best fit. However, I don't see anything about using Ionic for web-apps on their official website.
Questions:
Can Ionic be used to meet the above requirements? If yes, what is the best way to use Ionic for web-apps? Is there an official guideline from Ionic for this?
How else would you go about meeting the above requirements if not using Ionic?
Thanks.
Ionic is built for developing mobile apps / progressive web apps. If you are looking for something which can be accesses through browsers Angular is the best option. Progressive web apps also will be something you can look into. Except for native functionalities in mobile and routing in browsers , angular code will be reusable.

Bootstrap for WebApp + Ionic for Mobile. Is it a good combination?

I do not know much about web tech and currently, I am planning my own project implementing web app + hybrid mobile app.
Based on my research, it seems many people use bootstrap, on the other hand for mobile, ionic seems one of the most popular ones.
web: bootstrap +
mobile: ionic
While planning it, I met an issue, i.e. how I can combine bootstrap source with ionic and its difficulty, and would it take many steps to modify code and apply for both sides.
So my question is
1. is it easy to combine bootstrap to ionic?
2. Is there widely used tool that is integrated for web and mobile application development?
Thanks in advance.
Bootstrap is meant to be a CSS library for creating responsive web, be it webapp or mobile. You can easily create a webapp using AngularJS as you mention, and let its responsiveness be driven by Bootstrap.
Ionic 1 is meant to be a mobile app development framework, not mobile web. It has got a lot more than just CSS styles; it creates hybrid native apps for Android, Apple and Windows platforms. Though it does just run fine on mobile screens as a webapp.
Ionic 2 has support for webapps so you can easily write your mobile app that can then be deployed either as a native app or on a web server.
Though on both versions of Ionic, you may choose to use Bootstrap for styling your elements but be aware that this won't replace Ionic's own scss. And it might create some unforeseen issues as you've pointed out.
Bootstrap is primarily for webapps running in browsers.
Ionic is targeted to run the applications in a webview using cordova. So, it contains many platform specific stylesheets, properties etc.
1. is it easy to combine bootstrap to ionic?
There is no point of combining both, as IONIC is providing everything you need from bootstrap. ( Element Stylesheets, Common Functions etc ).
2. Is there widely used tool that is integrated for web and mobile application development?
Angular JS is going to help here. You can reuse most of the angular code is both have the same functionality.
For IONIC 1 : You need Angular 1 and IONIC 2 is based on Angular 2.

Ionic framework: Single code base for various mobile devices (iOS, Android, phones, tablets)?

I am planning to develop a mobile app that completely duplicates the features that my web app offers. The web app is running on AngularJS + Django + Django REST Framework. The backend is essentially an API server, so it is pretty much ready to support a mobile frontend.
Although I know my stuff in the web development space, mobile development is completely new to me. With no prior mobile development experience and the lack of resources (as always, fund and time), HTML5/SASS/AngularJS are my best friends, so Ionic Framework + AngularJS seems to be the most viable solution for my situation.
A major requirement of this Ionic app is that it needs to support various mobile devices, ranging from iOS to Android and from phones to tablets.
With different design guidelines for iOS and Android and the different screen sizes between phones and tablets, could this requirement be met with one single code base?
If yes, what are the cons or limitations? Is this a common approach?
If no, what's the common approach in the Ionic world in supporting various mobile devices?
I use the same codebase for my Ionic hybrid app deployed as a native Android and iOS via Cordova and additionally viewable as a mobile website.
Nearly every component/layout in Ionic scales nicely between mobile and tablet devices (in some cases, you may wish to make concessions for tablet - font scaling, content adjustments etc which can be achieved by using something like mobiledetect.js and CSS media query targeting), and between devices such as iOS and Android scales with no issues at all.
You even get some inherent coolness with Ionic components such as the modal popup whereby on iPad/desktop it displays as a modal popup in the center of the screen, but on phone it resizes to take up the scale of the entire screen, looking simply like a full screen page.
Hope that helps get you on your way.

What are the drawbacks when using Ionic Framework or OnsenUI only as hosted webapp

We plan to create a hosted web app with AngularJS. As UI Framework we found Ionic and Onsen to work well with AngularJS. Both of this frameworks promote that they are made particularly for Hybrid Apps. But us I understand correctly, both frameworks are based on web technologies. So what are the drawbacks when using the suggested UI frameworks for non Hybrid Apps? Is it mainly the Browser support?
Thanks
Well, both Ionic and Onsen are made particularly for Hybrid Mobile Apps. You just won't be able to use it even for tablet apps without customization (If I am wrong, please correct me) just because they target the limited viewport and incorporate phone UX patterns.
Also, they are made with PhoneGap in mind (the apps will be hosted in the WebView component), and addresses some common WebView problems, e.g GPU acceleration for better performance.
If you need just some UI framework for a simple Web App you'd better have a look at Twitter Boostrap or Zurb Foundation. For a complex case you may even consider Sencha instead of Angular.
There is a part of Ionic that expects the Cordova/PhoneGap Device plugin to be installed. It helps with displaying on Android and iOS appropriately, as well as increasing the size of header bars for iOS 7. That wont be an issue for web though, since you'll have the browser's "chrome" taking up that space.
You may loose some of the buttery smoothness in things like page transitions because the template files need to travel over a (often cellular) connection to the internet, but your app will most certainly work if built with Ionic or Onses over the web.
Things changed considerably over last few months.
Both frameworks now support splitview so they can be used for tablet devices. Subjectively Onsen UI has a better support (it is much more configurable), but Ionic is also not bad. This can translate to smaller desktop browsers screens.
You should also consider that Onsen UI has a dedicated desktop browsers support (all web-kit browsers). Ionic framework will also work on desktop browsers, but it was not fully tested or optimized for such environment.
Biggest problem here is that both frameworks were never meant to be used on larger screens. They look oversized and bloated. If you ever worked with jQuery Mobile (on desktop browsers) you will understand this problem.
There is nothing stopping you from doing that - it might even be a smart approach for a mobile first design approach. The advantage is that you could rapidly iterate an idea an then invest in a native or platform specific app depending on user feedback/metrics.
The main drawback would be the user expectations for your UI and application logic which are different for a web page and a native app. For example the back button will be duplicated in the browser and in your header. You could use some platform specific CSS or configurations to hide it. Then there is your application state and user data - will you save it in local storage, session or database? This depends on your app and best judgement.
There will be some browser issues which may not be addressed in the core of Ionic and Onsen because they are not targeted to work with IE6/7 (see angular browser support), for example, but you can resolve those by having a graded browser support policy.

Cross platform mobile framework

I am looking into building an intranet based app which can support different mobile platforms.
I have looked into phonegap, sencha touch and jquery mobile. I am confused as to how the business logic can be incorporated on the client side ? Any input will be appreciated.
Phonegap is just a web browser that has an access to native apis. So you can use more or less any technology that a normal web browser can interpret.
With that in mind, for a business logic you have to general options: 1) create an api somewhere on you server and just make ajax calls from you application and/or 2) use javascript. This is the only language that can be used for business logic inside phonegap (beside the native java, objective-c and etc).
Out of all those mobile frameworks available, I would suggest you to go for Sencha Touch with PhoneGap. The reason I prefer Sencha Touch over Jquery Mobile is that Sencha Touch is far more smoother than JQM when it comes to page transition and navigation. Also, the extensive documentation from Sencha gives you a quick start on building mobile apps for both Android and iOS.
You may use PhoneGap if you would like to access any of the native features like Camera, Contacts etc.,
Here are some useful links:
http://www.sencha.com/learn/touch/
http://www.sencha.com/learn/getting-started-with-sencha-touch-2
http://miamicoder.com/sencha-touch-tutorials/

Resources