Ionic Studio looks exciting (I hope it will be free)

The Ionic team has just dropped a bomb in my inbox. The bomb even has a name – Ionic Studio. Still in preview, Studio is Ionic’s official integrated development environment (IDE). I believe they have done a fantastic job by concentrating on the thing that’s their defining feature — UI Components. Of course, things like managing plugins, resources and all from GUI make life easy. But by making it easier to create beautiful interfaces they have done something really good.

Those with some experience with building Ionic apps already know about Ionic Creator. But they also know that the tool is screaming to be updated since long, and is not entirely bug-free. Something like Ionic Studio will really make it easy to create apps quickly.

I like the clean looks it sports. It seems to have been built on the proven and trusty VS Code / Electron platform. Perhaps you have other ideas about its base?

Hackeam ’18 – A hackathon that left a lot to be desired

I am back from two days of sheer coding, brainstorming, strategizing and bonding. It was one of the most tiring weekends I’ve ever had. I drove more than 100 kilometers going to and fro.

When Shivam told me about the 2018 edition of Hackeam, I was not immediately excited. It was when I heard about its unique methodology that I decided to participate. Like regular hackathons, its main event is about 24 hours of non-stop coding. Unlike regular hackathons, that’s only one aspect of the whole thing. Their motto says it all:

Trek. Report. Hack. Adapt. Achieve.

This year’s theme was using technology to make a significant social change. It was a good theme — a practical one — given that most hackathons focus on bringing out the best programming talent.

Continue reading Hackeam ’18 – A hackathon that left a lot to be desired

Fun trip to Bangalore (March ’17 edition)

Don’t let “edition” in the title mislead you into believing I’ve had a lot of fun trip to Bangalore before. But I’m hoping I will going forward.

Nishith and I went on an official trip to attend Microsoft’s March 16-17 Tech Summit event. I have nothing much to say about the event other than it was mostly Microsoft’s product advertisement carnival, and that the only high point was the session on cross-platform mobile app development using Xamarin. Having created both native (Android and iOS) and hybrid (Ionic and Sencha Touch) mobile apps, I was instantly sold on the idea of using C# to create 100% native apps. IMHO, hybrid apps suck! They suck much less with Ionic 2, but I have found the overall UX to be still behind what native apps offer. I have made a pledge to develop my next mobile app POC using Xamarin.

Since there is not much else to talk about the summit, I’ll share a few memories of my trip.

Before leaving, we celebrated Shivam’s birthday with a cake and team lunch.
We had dinner at a very happening place Koramangala Social on 7th Street in Koramangala. These jalapeño cheese croquettes were so delicious we ordered them twice.
On day 2, our lunch was Andhra meal. We had this amazing Andhra thali at Bheema’s on Church Street. It was my first Andhra food experience.
On our return flight, we hung out at the Priority Pass lounge in Bangalore airport. It was my first lounge experience. Freebies are always good 🙂

P.S.: I have nothing against Ionic/Angular. I have always absolutely loved the development experience that they offer, it’s just the end result that is most of the times not to my liking. I’d blame the WebView more than the SDK!

TypeScript, whoa!

typescript-cover-image

Finally the time has come. I had been avoiding it for years. I cannot escape it anymore. Finally the time has come to learn and embrace TypeScript.

I am developing a small proof of concept mobile app at work. Creating mobile apps, especially hybrid ones, is not a big task anymore. Only this time instead of relying on trusty old Ionic 1.x, I’m using the still-in-beta Ionic 2. As you know, Ionic 2 is based on Angular 2 and Angular 2 encourages using TypeScript instead of ye old JavaScript.

The opportunistic monkey inside me is making me do this. I am on a deadline, and my common sense begs me not to break out of routine. But I am helpless. It’s the year of the monkey.

Anyway, I found this nice quick start tutorial.

Bye.ts

Mobile App Development: Lessons Learned

  1. Sencha Touch is a great framework, but requires a LOT getting used to. The officials Docs do not always have the answer you’re looking for. ST forums and stackoverflow are excellent resources to consult when in need.
  2. If you are a web developer, DO NOT waste time learning Objective-C or Java for creating native iOS and Android apps. Instead use something like ST to develop a mobile web app, and then convert it into a native app using Cordova / PhoneGap.
  3. Cordova is the renamed, open-source version of PhoneGap.
  4. If your app is data-centeric, most probably it will depend on a webservice / API. If the API and the app are hosted on the same server, no problemo. In case of native apps, that are basically web apps PhoneGapped into native apps, that’d mean calling a remote API, and that is the problem. See same origin policy.
  5. Most googled solutions will point to making the service JSONP supported; but JSONP works only for GET requests. CORS is a recent W3C standard that supports all HTTP methods, but it still doesn’t work for PhoneGapped apps. ASP.NET Web API provides an easy CORS implementation.
  6. The perfect solution is to keep making Ajax calls normally, but using the full URL of the remote API. That will work because a PhoneGapped app doesn’t render in a browser but in a WebView (through a file:// URL). So it’s not restricted by browser’s same origin policy.
  7. ASP.NET MVC 5 and Web API are awesome!
  8. You may frequently encounter annoying cache issues with PhoneGapped apps. Just place a super.clearCache() in your Android app’s main activity’s onCreate().
  9. A PhoneGapped iOS app will run in fullscreen mode, by default, such that the status bar in iOS 7+ will appear over it. A fix is right here!
  10. One can create an IPA archive for testing on iOS devices via Build > *.app > iTunes > ?*.ipa. Believe me, it’s one of the most stupid things you will ever do. This is the correct way to create IPA archives for ad hoc distribution.
  11. Here’s how to create an animated splash screen in Android (though I have yet to figure out how to correctly use this in a ST-PhoneGapped app).
  12. If your device has Android 4.4+, you can remote debug your WebView-based Android apps using Chrome.
  13. JavaScript is yummy!