Live data from Hacker News

Announcing Ionic 2 Final

blog.ionic.io

71–80 of 82 posts

Re: Announcing Ionic 2 Final

#71
post #23
post #21

Stupid 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?

I 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 - assum…

> 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

Re: Announcing Ionic 2 Final

#72
post #24

Not 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 nat…

why use the cloud though? just build on premise and use existing MDM, or App Store

Exactly. 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.

Re: Announcing Ionic 2 Final

#73
post #56

Way 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.

I'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.

Re: Announcing Ionic 2 Final

#74
post #64

At 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 basi…

Firebase 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.

Re: Announcing Ionic 2 Final

#75
post #21

Stupid 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?

a) Most users don't care and don't notice the difference between a truly native app and a well-done hybrid one. Ionic 2 mimics the platforms quite nice.

b) With Ionic 2, I can be productive right now, because I can mess around with CSS and HTML. React Native only supports a CSS-like subset and you need to relearn some layout things. It's close to web stuff, but not entirely.

c) My gamble is on progressive web apps (PWAs) in the long run.

Re: Announcing Ionic 2 Final

#76
Thank 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!

Re: Announcing Ionic 2 Final

#77

We 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 f…

Angular 2 is a completely different animal so I would disregard that part of this comment. However, the parts about Cordova still ring true with regards to Ionic 2.

Agreed. For me, that was another reason to move away from Ionic. That its largest dependency came to differ so greatly from that of the previous version, was enough for me. If I was going to be forced into learning something new, then Swift it would be.

Re: Announcing Ionic 2 Final

#78

We 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 f…

About to embark on a potentially large Ionic project. What were some of the issues that you had?

To be specific--and maybe this only pertains to version 1.x--I found managing navigation state in our largest app to be quite clumsy and at times, downright perplexing. In Swift, managing navigation state is relatively easy to reason about, though it is a bit more laborious to implement.

The bigger issues were things like having access to leveraging background processes via Cordova. At last check, there was a plugin for backgrounding the app, but it came with a big, red warning that it may cause issues with Apple's App Store approval process.

Another issue was the dismal state of background geolocation. There is a commercial plugin; however, I found the maintenance schedule to be quite lacking. As well, the maintainer of the plugin was quite abrasive and impolite toward users raising valid issues.

Re: Announcing Ionic 2 Final

#79
post #23
post #21

Stupid 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?

I 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 - assum…

With 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.

Re: Announcing Ionic 2 Final

#80

Earlier quoted context omitted.

I 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.

> 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/inhe…

the 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.

Post reply on HN