9 ms·
Announcing Ionic 2 Final
- samkite 10y agoI'm always afraid of investing a lot of time into this type of frameworks and then having the rug pulled from under me. Most of the time I spent learning angular ended up being a waste of time and I'm still scarred from then. Also that logo looks familiar?
- alexkavon 10y agoYou're not wrong. I've worked with Ionic v1 a fair amount. The framework is good for mockups and prototypes but nothing more. What ends up happening, as you app grows to include notifications, deep linking, etc, is you need to rely on more and more hacky thirdparty solutions. These days I either code natively or use Xamarin.
- jthoms1 10y agoIonic2 is quite a bit different. In my opinion it scales really well especially with Typescript. Most of features that would have required thirdparty solutions are baked into ionic-native.
- deleted 10y ago[deleted]
- EugeneOZ 10y agoYou are wrong. I have few mobile apps, made with Ionic and Ionic 2, some have been used on warehouse as part of huge WMS (to scan items and manage whole business process of warehouse worker), some were apps for business as part of CRM (with geolocation, maps and handwritten signatures). And every time product owners were very satisfied with the result and with speed of development. Ionic 1 had too hacky API and not great performance, but Ionic 2 is much more mature in both of these fields.
- alexkavon 10y agoI don't believe I ever mentioned ionic v2... I don't doubt v2 brought many improvements. However you just can't beat the power of not operating in a Webview.
- timrichard 10y agoHowever, Webviews do give you a very predictable container to target. If you use something like Intel Crosswalk [1] as part of your project for Android, you can bundle a recent Chromium webview to much older devices. And Flexbox is very well suited to solve phone/phablet/tablet layout problems. [1] https://crosswalk-project.org/ https://crosswalk-project.org/
- pikzen 10y agoBecause people seemed to love 80MB Chrome runtimes being bundled with terrible Electron applications on the desktop, Crosswalk allows you to bundle 40MB of chromium for your terrible application on Android.
- SparkyMcUnicorn 10y ago> Also that logo looks familiar? Hydrogen? https://www.google.com/search?q=hydrogen&tbm=isch https://www.google.com/search?q=hydrogen&tbm=isch
- wgx 10y ago> Also that logo looks familiar? Dr Manhattan? http://imgur.com/a/EQNya http://imgur.com/a/EQNya
- samkite 10y agojesus. that's it. watched the movie 2 weeks ago, his face must still be in my RAM
- skylark 10y agoCurious why you think it was a waste of time. You can still make perfectly functional products using Angular 1, and most jobs (at least in the bay area) won't look down on you if you're not fluent in their framework of choice - they'll expect you to learn it on the job.
- hatsix 10y agoI don't understand the 'final'... they're not stopping development in any way. So, isn't it just.. Ionic 2? or maybe Ionic 2.0?
- stackus 10y agoFinal as in no more 2.0 release candidates.
- squeaky-clean 10y ago> So, isn't it just.. Ionic 2? or maybe Ionic 2.0? Final is how they signify a version is ready for production and they'll stop modifying it. Up until now they've have 6 upgrades as Ionic 2.0.0-alpha, then 11 as Ionic 2.0.0-beta, 6 as release candidate, and finally, Ionic 2.0.0.
- erikpukinskis 10y ago"complex" and "object oriented" does not describe any future of JavaScript that I am excited about.
- 79d697i6fdif 10y agoI think it's around 5 years too late to prevent the complexity explosion :) JS has been object oriented since the beginning it just has an insane prototype based inheritance hierarchy that they're increasingly trying to hide/pave over.
- erikpukinskis 10y agoThe next generation of package management tools will allow for multiple "universes" of libraries, using different development philosophies. Then we'll have a real hard fork and the ES6/hundreds-of-control-structures+complex-build-pipelines crowd will have to compete with the JavaScript/small-idiomatic-modules crowd. Think subreddits for NPM.
- treehau5 10y ago> just has an insane prototype based inheritance hierarchy that they're increasingly trying to hide/pave over. Can you elaborate more on why you think it is insane? I think it is quite elegant, and in my experience they only try to hide or pave over it because just so many damn people can't get over the fact that it isn't classical object oriented Also, for those who haven't read: http://javascript.crockford.com/inheritance.html http://javascript.crockford.com/inheritance.html
- 79d697i6fdif 10y agothe way inheritance works in JS leads to a ton of inelegant design patterns that need to be remembered and very inefficient handling of many casts because the prototype chain is literally just a linked list. It also prevents sound encapsulation of class local variables and methods, the main point of object oriented programming in the first place.
- lima 10y agoWhat's the equivalent for desktop site development?
- lignux 10y agoThat would be electron. http://electron.atom.io/ http://electron.atom.io/
- fgpwd 10y agoElectron would be analogous to Cordova, which is what ionic is based on. Something like Microsoft fabric or similar, or even bootstrap would be the analogous thing for desktop.
- deleted 10y ago[deleted]
- denisw 10y agoIt seems as if the Ionic team is planning to support the desktop in the fuure: > Coming next we are working on new features to add proper desktop and electron support, something we’ve dipped our toes into in the past but will be making a bigger priority going forward. That being said, there is Electron, but that "only" provides you with the runtime to run a web app as a natively integrated desktop app, not with visual components and the like.
- joeyspn 10y agoElectron + React + Material-UI is a great start... https://github.com/chentsulin/electron-react-boilerplate https://github.com/chentsulin/electron-react-boilerplate https://github.com/callemall/material-ui https://github.com/callemall/material-ui
- wishinghand 10y agoThe Quasar Framework, though that uses Vue, not Angular.
- alasdair_ 10y agoYou can use angular 2 + typescript etc. for desktop sites as well. I have an ionic app and a desktop site and both use mostly the same codebase.
- ausjke 10y agoit's really just for Angular2? which is overly complex for many. I'm using vue which has different similar frameworks.
- danbucholtz 10y agoNo, Ionic 2 is a complete rewrite of the framework with all of the lessons learned from Ionic 1. Writing apps with Ionic 2 is an insanely great experience!
- jrm2k6 10y agoStupid question, but Ionic is not native, or was not at least. But react-native is actually using only native APIs through Javascript. So if you want to have a native look and feel, why not go with react-native?
- jdormit 10y agoI don't think that's a stupid question at all. Ionic uses Cordova [1], which basically launches a browser that runs your web page as an "app". That said, Cordova does give you access to native APIs, so you still have access to Bluetooth/camera/whatever. Phone processors and browsers are getting increasingly powerful, so it's totally possible to achieve native or near-native performance in a web view-based app - assuming you properly optimize your JS and HTML. I believe Ionic provides consistent styling, so it's definitely possible to make your app look and feel like a native one. The real win using something like Ionic is that you can build your app using web tech that works equally well on the phone or in the browser, and that your developers already know. The trade-off is that it becomes more difficult (but certainly possible) to make your app look and feel native. React Native gives you many of those benefits, but since it compiles to actual native code you can't reuse your code for a browser app. [1] https://cordova.apache.com https://cordova.apache.com
- n42 10y ago> React Native gives you many of those benefits, but since it compiles to actual native code you can't reuse your code for a browser app. It is entirely possible to reuse your React Native code on the web, especially thanks to projects like react-native-web[1]. [1] https://github.com/necolas/react-native-web https://github.com/necolas/react-native-web
- jrm2k6 10y agoWith react-native, if you isolate your components from your logic enough, (example: use Redux), you can reuse all the logic in a react-native app, and just change the components part, which is usually not that hard, at least on the simple apps I worked on. Another advantage that react-native would have would also be to be able to have native code and react-native code in the same app.
- joeyspn 10y agoNot long ago I was an Ionic believer, but not anymore... the lack of support for their cloud services [0] has turned many people off and signals that they don't mind leaving their users "locked". Devs are migrating en masse to react native. I have friends in several startups leaving their jobs because they've been tasked with maintaining legacy Ionic 1.x/Angular projects, while the codebases are migrated to react native... For hacking quick MVPs is not bad, it was even cool 2 years ago, but for serious projects starting from zero, react native is a smarter choice. [0] https://github.com/driftyco/ionic-cloud/issues https://github.com/driftyco/ionic-cloud/issues
- jordache 10y agowhy use the cloud though? just build on premise and use existing MDM, or App Store
- jawarner 10y agoRight, AFAIK the framework itself functions independently of the services, so you can drop in whatever solution you want for push notifs / analytics / MDM.
- dante_dev 10y agothat is what we do in our organization, we don't see value on their cloud services, we see value on their framework
- jordache 10y agoBingo! for hybrid development, I don't see anything better out there than ionic. Key point - for hybrid development. There are a lot of use cases where hybrid mobile apps are appropriate (CRUD). With ever more powerful devices, the argument for hybrid increases.
- cyberferret 10y agoExactly. You don't NEED to use Ionic's cloud platform. You can develop an app completely independent of it, or else integrate with other back end services. Personally, I've developed Ionic apps that integrate with Firebase, PushWoosh, Back& among others... You are free to choose. No lock in necessary.
- jadbox 10y agoI've been using react-native for the last year and can't say I have much positive to say about it. Honestly, just about every day we hit a sharp pain point in component layouts, broken build scripts due to RN bugs, and runtime crashes. While Ionic 2 is young, I welcome another option to the JS native space. I'm also hoping Flutter.io will get to a stable release.
- jbverschoor 10y agoCheck out nativescript. It has 2 versions, one of which is angular2 based. It's pretty neat
- jadbox 10y agoI've looked at nativescript- it's pretty neat... although still very young. Imho, there's no native JS platform that I'd recommend for a production app yet.
- danbucholtz 10y agoDisclosure: I work on Ionic Ionic 2 is much more performant and scales much better for app development than Ionic 1. I have yet to meet anyone who has not really enjoyed developing Ionic 2 apps. We take a tremendous amount of pride in the developer experience! Native apps will always be a little faster but if you can get 60FPS either way, who cares? Ionic is easier to build apps with, and developing in the browser is a joy. A huge advantage of Ionic is being able to deploy the same code base to the web as a PWA and to a phone natively as a cordova app. Soon Ionic Native will expand to support PWA and Electron, too, so it will truly be a write once run anywhere experience.
- jbmorgado 10y agoI was really very well impressed by the small size of ionic apps. It's in the order of ~3MB which is great. But the startup times are somewhat big. I'm talking, for the simplest of applications a startup time of ~5.5 seconds in ionic 2 (the beta) vs ~2 seconds in React Native in Android. For me, that detail has a significant impact in usability. Any plans to work on those startup times?
- jgw96 10y agoDisclosure: I also work at Ionic So start up time is something that we are very focused on at the moment. Especially on the PWA side of things, TTI (time to interactive) is exceedingly important to ensure a good user experience. We are working on a few things at the moment but most likely the first one to hit is gonna be code splitting. So with code splitting, instead of shipping just one big bundle you will be shipping smaller bundles that are lazy loaded based on routes. This means that when the app first loads only the first bundle for the first view in your app will have to be loaded, parsed etc and then the other bundles will be lazy loaded. With this setup the browser (or webview) will never have to parse and load a huge bundle all in once, it will instead only have to deal with smaller bundles. This should give a pretty big improvement as parsing javascript is slow in every browser. From my testing on a moto g each MB of JavaScript in an ideal situation takes about 2 seconds to be parsed, so reducing the amount of JavaScript the browser has to deal with is a very fast way to get better load times.
- paradite 10y agoI think it is pretty ironic that Ionic 2 has a complete set of components for both iOS and Material Design: http://ionicframework.com/docs/v2/components/#overview http://ionicframework.com/docs/v2/components/#overview ,while Angular 2's official material design components are still in the pre-release stage: https://github.com/angular/material2 https://github.com/angular/material2 Good job on filling the gap for Angular 2.
- janwillemb 10y agoWe've been developing an app since the last beta and are happy to see Ionic come of age now. Congratulations, and thanks for all the effort.
- bdcravens 10y agoI like Ionic, but not a fan of the name of "Ionic Native". I think that might confuse people with regard to parity with React Native, when it's really much different (it's a Cordova plugin wrapper)
- MaxLegroom 10y agoWe used Ionic 1.x for a few projects. We found that for relatively basic, brochure-ware apps, it worked just fine. However, for some of the more complex apps, we really fought the lack of support/options in the Cordova plugin space. This, of course, is not the fault of the Ionic team, but it does create a frustrating development experience that played a large part in us abandoning it as an option. This was also our first experience with Angular. I really wanted to like Angular, but after more than a year of development, we left it for greener pastures. I understand that Angular 2/Ionic 2 are touted as being significantly better, but while all those improvements were being made, we invested our efforts in learning and building with Swift. I can say that we are delighted with the outcome and have no real inclination to leave it for an alternative.
- nvahalik 10y agoAbout to embark on a potentially large Ionic project. What were some of the issues that you had?
- WayneBro 10y agoI am about to release my largest Ionic project to date. It is a highly dynamic data entry and reporting system for field workers. My client is able to create and publish new data entry forms and reports from the private back and angular web app that I built for them. The lack of any kind of commercial support is real and frankly that is the largest issue that you will have to deal with. I have searched high and low for any kind of commercial support that I can offer my customer. I am it. Or somebody like me. However, I will say that in two years of using Ionic I have never had to modify one Cordova plug-in or any native code in order to release my apps. I do mess around with the native code sometimes but usually on an exploratory mission. Other than that, my biggest issue so far has been with how quickly ionic and Cordova get updated and how quickly my code gets out of date because of that. Then when I have to update I have to make sure that nothing breaks by writing all sorts of tests or doing manual testing yada yada yada. Also getting answers from support or anybody qualified is sometimes difficult and you have to wait days or just figure out your own work around.
- 10y ago
- bbayer 10y agoNo body mentioned but Ionic Creator[1] still supports Ionic 1. I think it is great tool to start an app from scratch but it doesn't look cool when your own tool doesn't support your own latest product. [1]: https://creator.ionic.io/ https://creator.ionic.io/
- rch 10y agoNot familiar with Creator, but I'd be frustrated if I had to wait for a drag-n-drop gui editor to catch up before seeing a release in any core framework.
- rbritton 10y agoI'm a big fan of the icon font released by this project too[0]. It's similar in concept to Font Awesome, but I've sometimes found it fits my needs better. [0]: http://ionicons.com http://ionicons.com
- replicatorblog 10y agoWe're huge fans (and investors in Ionic) and we recently interviewed Max Lynch about how the project went from idea to the upper echelons of the Github leaderboard https://hackernoon.com/step-by-step-advice-how-ionic-became-a-top-50-github-project-and-you-can-too-65088a250068 https://hackernoon.com/step-by-step-advice-how-ionic-became-...
- sjclemmy 10y agoI've got an app that I started way back in February 2016 using ionic 2, so I've followed the alpha and beta, it's been a long slog, but even back when I started I could tell it was worth it. I'm currently using Angular 2 for another project - it's awesome.
- devdad 10y agoWay to much hate here. I run an app with ~30k users and I never get any complaints about lag or comments on the stores that reflect negative on the performance. All criticism I've received has been by my own missteps. Ionic 2 has given me two platforms and a great development experience. The few times I've had problems they have an amazing responsive team on Slack that's helped me out right away.
- cyberferret 10y agoI've built many apps using Ionic, and usually with good results. I think the problem is that people don't really look at their 'use case' when designing their apps. There are apps where a hybrid solution works great, and apps where is doesn't. If you are going to build an app that requires you to display 1000 items in a scrolling list, then yeah, forget any sort of Hybrid or Cordova based app - go full native. Similarly if you want to have complex background geo-location tracking that doesn't suck your battery dry. You can't optimise that using Cordova as the 'go between', but you have to go native. Outside of that, Ionic/Cordova will cover you bases and let you get apps to market 20x quicker without your users realising that it is not a native app.
- cseelus 10y agoAt the moment we are in the process of evaluating different frameworks/solutions to build a simple native App for iOS and Android. Its mostly some basic forms to build simple objects that eventually get posted to a JSON API. What astounded me most was that nearly none of the established solutions offers a simple way to just cache these requests until when the device is online or any other simple ways to get such basic stuff working when offline/the connection is bad. Generally speaking: In early 2017 its still way to hard to get very basic stuff on native (let alone web based) mobile apps working offline. The whole offline-first movement still has a lot of educational work to do.
- ChicagoBoy11 10y agoI'm not sure I agree with this 100%. About two years ago I had to have shoulder surgery and so couldn't go golfing with my buddies -- I ended up making a mobile app to mimick the one used by the PGA Tour where I could track all of their scores online as they played so I could still participate in the banter with my golf buddies. A big issue was the fact that I wanted the live updates but had to deal with pretty spotty connection around the course. I ended up using Firebase and it handled that case just BEAUTIFULLY right out of the box; the data updates optimistically on the player's own device, and once a connection is established Firebase syncs it with the datastore and all other phones update accordingly. I would say that this is some pretty sophisticated behavior that I, the developer, just used right out the box following documentation.
- jinjin2 10y agoHave you tried Realm? It works both with native apps and React Native, and is awesome for making apps that works seamlessly offline.
- cyberferret 10y agoFirebase integrates beautifully with Ionic, and allows real time push, as well as offline caching. I've done it and it works great. You can also use CouchBase (disclaimer, I haven't tried it yet, but have an app that I will be using it for in the near future). As a last resort, we also have an app that uses LocalStorage on the device to store an 'offline copy' of a database, and sync up when the user wants to. It works surprisingly well in this particular use case, and no need for any complex library. Just load up the local storage database when the app is launched for the very first time, and then whenever the user does a 'pull to refresh', it goes looking for the latest data from our server - if it cannot find a server connection, it fails gracefully.
- techwizrd 10y agoThis is actually something I'm excited about. I remember trying Ionic v1 and not really enjoying it. I built some MVPs and some apps using Ionic v2 about six months ago and I found it to be a pretty great experience. It was also my first experience with TypeScript and Angular 2 and I enjoyed the experience (especially versus traditional Android development). It's a neat product and I'm excited to see how the v2 final release compares.
- fifafu 10y agoThank you Ionic team! I have already built tons of business apps with Ionic 2 (beta) and really like how easy it is and how well it scales. I also really like your ionic-app-scripts which make things like AOT a breeze. I have developed native iOS since Apple introduced apps on the iPhone and I have created some very big macOS and also Android applications natively. I think there will always be use cases that you need to do natively. However for >90% of the apps I developed (and use) Ionic 2 is perfect and has saved me a lot of time. The beta phase has been a bit though to keep up with because of how many changes where introduced by Angular and the build infrastructure, however since RC1 or so Ionic 2 is really really nice. I came to the realization that native development is not feasible for many business contexts when I was tasked to build an application for iOS and Android simultaneously a few years ago. It was so much work and pain to keep both apps in sync that I have decided I never want to do this again. Luckily Ionic came to the rescue :-) You will still find platform specific problems, but so far it has been relatively easy to resolve them. Congrats!