Learning Ionic: An Interview with A Roller Developer
At Roller, employee development matters to us. We’re always encouraging our staff to expand their horizons, better themselves, and to explore every avenue of their chosen field and beyond. So when we offered one of our most experienced developers, Dan, the chance to learn Ionic, we couldn’t help but track his journey through the new language.
Why did you decide to move to Ionic?
I’m interested in it. Because I’m so familiar with Angular, one of the best parts about learning Ionic has been its similarity to Angular. Having worked on projects like Alert, I’m comfortable with it, and it grows on you. For me, it’s a really good framework. In terms of my current project, however, it’s been nice to step over from web design to mobile design to use Ionic.
How is it different to using Angular for Web Development?
Difference is for me, the front end is fiddly. Coming from a web background, you get used to the frameworks, the quirks, Bootstrap, etc… Whereas Ionic has its own styling and HTML tags which can be annoying like right now, working on a component, and Ionic likes to throw its own custom style, so a lot of code has to be overwritten.. The Android guys, by comparison, can just get things off Zeplin, or another design board and boom it’s ready, and pixel perfect. For Ionic, you’ll have a card or a badge that will have lots of styling across it that you don’t need, so you end up crowding your style files with overridden code, which can bloat it, but I suppose if you’re using SASS then it can condense it more than normal files.
In which ways is it benefitting the project?
Well it’s fun to learn, there’s not as much markup to do, then using web, so you’re only working with a set amount of components. With Web, you’re dealing with massive nav bars, and huge amount of content, compared to a little mobile or tablet. Literally forward back, click click, swipe swipe. Front end is easier, but fiddly. Like I say, having spoken to Android developers, they all find that front end is more creative, but it’s fiddly. Front end for mobile is fiddly, but not as fiddly as full blown websites.
It’s a lot faster to get the pages done, me and Nelly (my co-worker on the project) we both use our strengths. He has strength in back end, I have strength in front end, so working together we’re both using Ionic to maximum efficiency. This also means that both of us are getting to try out new skills and test new methods of working. As the project progresses, we get to bounce off of each other which is good.
If you got the chance to use Ionic again, would you?
Yeah, yeah I would. It’s good for Angular, and learning to pick up more skills from that.
It’s got it’s limitations, but for the complexity of the app we’re creating now, and staying around that area, we can accomplish quite a lot with it.
Is it faster to use?
Compared to Native, no. It uses webview, where it’s rendered. It’s an inbuilt browser, rather than compiled down to native Java. Essentially, it’s doing it, but not as smoothly as it would do on Native. There’s a few niggles with it, but to be fair, the end user wouldn’t be able to tell.
How long did it take you to pick it up?
Er, well the project has taken about 3-4 weeks. Because I understood Angular, there’s just a few different inputs you have to deal with, with the pages and going back and forth. Other than that, it’s just getting your head around their grid system, which can take a few days. Everything else you can transfer it from Angular web. Highly recommend it to anyone moving on from Angular.
Is it just for Android?
No, it can deploy to Windows, iOS and Android. There are also different styling tags for each platform, and you’ll notice that they will each have they own different styling anyway unless you’re using material design. But what you can do is, you can type in a command line, and you’ll be able to see all three screens inthe browsers as mini mobiles to see the styling on all three. Isn’t as good as doing it native through the cradle, but it’s great for visual. Because they each have different styling, you can manipulate it to whichever platform you need.
Is it better for UX?
That’s a good question. Because you will usually find that Native guys are hardcore Natives, iOS are hardcore iOS, I’ve fiddled about with each of them, by comparison, I would say probably not. I know, from talking to my coworkers, that some of the styling and component has been super custom. Through Ionic, everything is hard coded – usually what is being rendered in 8 pages would take an hour in Native, it took me about a day.
What would you like to learn next?
I think I would like to learn NativeScript, and work with Native view. Unfortunately Flutter doesn’t appeal to me, although we have our iOS developers who would recommend it. Having gone from Software to Web, I definitely enjoy the full stack working process.