is it possible to create web application using ionic or is it only for mobile ? what is the difference between Angular and Ionic
You can definitely do it. However, it's probably not advisable. Ionic just provides a bunch of directives for you to use. You can use that in conjunction with something like Cordova/Phonegap to package that up for a mobile release. Otherwise, you could just take the web parts of the project (i.e. all your html/js/css/assets) and point a web server to them and presto - you can access your ionic page with a browser.
However...
You probably don't want to do this for a few reasons.
Ionic wasn't written to target desktop pages
Ionic doesn't really provide anything for desktop pages that A. doesn't already exist in Angular or B. someone hasn't properly written for desktop solutions
My suggestion here is to just use plain Angular or another framework such as React/Vue.
To answer the last part of your question: Angular is the framework that Ionic provides bindings (and some assets such as icons) for. Those bindings happen to be optimised/targetted towards mobile devices.
Hopefully that helps out a bit.
Related
I have a website that is created in Angular 4 (with Lumen as the Rest API) that has a responsive design.
The website works on desktop & mobile browser fine but now I want to create the mobile applications.
What is the easiest way to wrap ionic around my existing Angular website to create the mobile applications? The mobile applications will need camera, location, bar-scanning, etc. So I cant just webkit or webview the mobile applications, I would need the plugins from ionic / cordova.
It depends if you want to use any Ionic Components, so if you want to make visual changes to your app, or not.
If you have already created your application and it works/looks fine on mobile, there is no need to use Ionic. Ionic provides visual components to build hybrid apps that look like native apps, but if you don't need them, there is no need to use Ionic. Instead you can just use cordova, which allows you to take your existing webapp and simply add the native features like camera, location, etc. to it.
If you want to change your app and give it a native feel with Ionic, then it really depends on what kind of app you have and how big it is. It's not an easy task to take your existing app and put it "inside" Ionic. It might be easier to just create a new project and copy over the logic, but rebuild everything UI related with Ionic Components.
I want to use Ionic Framework for my mobile website.
I wonder that is there any risk for run Ionic Framework on mobile browsers.
I'll only use framework's CSS and JS which includes modals, popups, menus etc.
I built a prototype and I tested it on all versions of iPhone and 2-3 versions of Samsung. I haven't seen any problem on these devices. But I want to learn all risks before I start to real project which includes static pages and quotation steps. I'll use UI router by using HTML5 pushstate.
To learn your opinions, makes me more confident.
Thanks in advance.
Kindest...
There are certain caveats to this:
1. Ionic doesn't have a web server, and its testing server uses UIWebview and will not allow for POST requests.
2. Ionic is more optimized for app that is resident on the device. There are certain capabilities (ngCordova plugins for camera...etc.) that won't be available on mobile web.
Your scenario ("framework's CSS and JS which includes modals, popups, menus etc.") - should be fine, since you're only using functionality within Webview. You'd have to build a custom JS library that would only include presentation layer features.
Our current web application for mobile is build with jquery mobile
https://www.bit2c.co.il/mobile
I would like to upgrade it with better ui, plus I believe that jquery mobile js and ui are not working smooth over IPhone 4. (the nav bars, header and footer, are refusing to stay fixed ).
So I did some research and found that mobile angular UI is working pretty well over different smart phones including IPhone 4.
My question is:
1.Is this framework well supported and will continue to grow ?
2.Is it working inside phonegap hybrid application ?
3.If using it means there is no need for jquery? and by that how all the functionality done with jquery is done with angular instead?
Please keep in mind I have little angular knowledge and I've seen there will be great change in angularJS 2.0. which leads me to concern in using this version.
Thanks !
If anything, Angular 2.0 is more mobile-aware than 1.3. My team has built a mobile-only application with Angular 1.3 and it works quite well. We've also wrapped it in Cordova to build native mobile apps, although there were more issues there due to third-party JavaScript. The main problem with starting a new app with Angular 1.3 today is that eventually Google will only push security fixes, and no new features will come to the framework. If you build a one-off app, that's fine, but if you're building a new product that will keep on evolving over the next 2 years, 1.3 is not the right choice anymore.
The main challenge I would say we have is that it takes a while to load upon the first page-load. We're a content site with little user "functionality" and while Angular has been good, I don't think it's the best solution for a plain content site; Angular is really meant for applications where you want users to interact with things on the screen without creating new pageloads for every click.
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.
I'm busy building a web page where I'm using HtmlEasy and Silken with Google Closure Templates.
With ASP.NET MVC4 there is a technique of serving a mobile version of a web page by changing the file name to .mobile.. So it is not just the same version served up using a different stylesheet - the contents/data too can be different. This is really great since not everything may be relevant for a person using a mobile device.
Does HtmlEasy and Silken provide the same or similar feature? I can't seem to find anything that'll help.
Ok, when you need to detect any mobile device then its better to make use of a database.
For my own project I'm using 51Degrees Lite. Pass the user-agent to the lib and it'll tell you if the device is mobile or not. Then serve your soy template(s) accordingly.