This is part one of a XX part series on mobile application development for IBM i. I say XX since I really have no idea of how many parts it will take to make it whole. I’ll just keep going until you say “STOP!”.
So let me flesh that out a bit. I would guess that perhaps 90% of mobile applications that would come out of an IBM i shop would be scaled down versions of the 5250 and web applications that an i would typically be serving. Of course the 5250 app would be written in RPG (ILE RPG) and would be a ‘classic’ green screen application. If the shop was delivering web applications to it’s users, then I would again guess that PHP and CGIDEV2 (RPG) would be right up there at the top of the list with Java further down. EGL would probably make a showing on the list and there would also be a smattering of 5250 modernization applications with a single digit presence like web facing, Look Software, and a host of others (again I am GUESSING so no flames for getting it wrong). Of the remaining 10% of mobile applications, there might be another 5% that have no 5250/web analog on i because it truly needs to run on a mobile OS (e.g. uses geolocation and/or accelerometer or other function) and the remaining 5% need some “from scratch” in a native language development for some other reason (iPhone, iPad, iDontCare…etc). So, if you are in the 90% listed above, that is, a shop that needs a mobile web application presence, then I think I’ll be able to help you along.
We still have some legwork to do. Depending upon the design of the 5250 application and/or the web application that is served on IBM i, the question is, how well designed is the current application? If it is an RPG app, is it modular with a clear separation of UI, business logic and database I/O? If not, you will probably want to skip from RPG directly to something like PHP because there won’t be much in your code that can be leveraged for your mobile web application. If it IS modular, well designed code, you can probably take it from the 5250 world into the web world using something like CGIDEV2. With CGIDEV2 you’ll still be writing your code in RPG and you can use existing modules to handle some of the functionality. The alternative to CGIDEV2 would be PHP (which is NOT an RPG derivative) because rumor has it PHP is an easier jump for RPG programmers. I went from RPG to Java with nary a hiccup so there is no one size fits all RPG to ??? language transition. I also code in PHP and in Ruby as well. EGL is cool and has greatly matured over the last couple of years. But, in any case, I’ll try to give you analogs in as many different languages as I can. Certainly one will work for you.
OK! I hope that is enough to wet your appetite. In the next installment (weekly or better) I’ll take you through some design considerations that should help shape your mobile web application design.