Seidenberg School’s second year of creating mobile apps with Ionic

The Seidenberg School’s CS 641 Mobile Web Development class just wrapped up its second year, with 54 graduate students and one undergraduate in the class this semester. Students created iOS and Android apps with the Ionic 2 framework, and created online portfolios of their work.

The class is taught by Adjunct Professor Haik Sahakian. “If you’re a web developer, Ionic turns you into a mobile app developer as well. You write apps in Javascript that run on iOS and Android from the same code base. And it’s a fun way to learn Angular 2.”

One of the apps from the class was selected for a showcase of graduate student work being put together by the department chair, Dr Christelle Scharff. Written by William Dickerson, it uses the D3 and Leaflet JavaScript libraries to display a travel map of New York City. A user selects a point on the map and how far he or she is willing to walk, and the app displays which parts of the city are reachable with a single subway ride.

articleIonicImage“[My app] began as a webpage, which took me about 40 hours to develop into what it is now. If I started from scratch today, it would probably take me less time, but D3, Leaflet, and even JavaScript were new to me at the time. Transitioning the webpage to a mobile app using the Ionic 2 framework took very little time, just a matter of hours.

I liked how each lecture and assignment in the Mobile Web class built on the previous one, allowing us to put everything together into projects worth sharing. We started the first lecture with a blank html file in a text editor, and by week 15, we had covered enough libraries, tools, and web fundamentals to build quality mobile webpages and apps.”

William Dickerson

The class’s apps feel very similar to native apps. Prof. Sahakian said Ionic achieves this because “it comes with web-based UI components that look and behave just like native components, and it uses the open source Cordova library to connect with a mobile device’s hardware and features. An Ionic app is an enhanced web page embedded in a native app wrapper, rather than a native app itself, so it’s a little slower than native for complex features and animations, but it works well, and enables web developers to build apps quickly.”

CS 641 Mobile Web Development is offered every Spring semester. Dr Scharff’s collection of graduate student work will be displayed in the Seidenberg Mobile Lab at 163 William St in the fall.