Do Today's IBM i Programmers Need to Know HTML?
Investing time in getting familiar with HTML and other web standards makes you a more strategic asset to your company.
by Duncan Kenzie
Published: March 17, 2014 by iPro Developer
The web has become the interface of choice in today's application world, and for good reasons: compared to client/server and 5250 text-based screens, it's more robust, extensible, and visually appealing. In fact, if your shop has decided not to deliver web GUIs, you do so at your own peril.
Many web development tools, including our Presto product, provide visual editors to give you impressive results quickly and to shield you from the HTML. This is an attractive option for RPG programmers who are new to web development, but does that mean there's no need to learn HTML?
Understanding the Foundation Yields Better Results
As a general rule, knowledge is power. When you invest in understanding the foundation of what you're building, you'll be much more productive in the long term. Think of a race car driver who knows how a car works: they can communicate their needs more effectively with their race engineer and ultimately get the best performance out of the car.
When it comes to web application design, knowing that the style of your page is controlled by CSS, or how to use an autocomplete instead of a window lookup, will put you in a much better position to create solutions that meet or exceed user's expectations.
Benefits of Coding HTML
A visual editor might help you deliver results quickly, but all visual editors have limitations that you might not initially notice. One recent example is an email campaign that our team worked on using a visual design tool. It worked great for 90 percent of the design; however, we were unable to get the level of precision we needed with the margins and alignment. We chose an email design tool that gives us access to the HTML code so we could fine tune it when needed. Because of this, we weren't limited in any way and got the results we wanted.
You might have experienced similar issues with web-based text editors that struggle with simple things such as the formatting of bulleted lists or the positioning of tables. Visual editors are similar to painting by numbers: You can get some pretty impressive results, but at some point you might want to paint your own lines on the canvas.
An example directly related to IBM i is that most green screen modernization tools will use some form of absolute positioning to render UI elements in the correct location. This is often sufficient for internal applications that are replacing green screens. However, new, strategic, or customer-facing web applications often require a higher level of precision. They might have more floating content that adjusts to conditionally displayed images or containers that you can hide and collapse. They also tend to have a more fluid HTML design, which means the pages can adjust to different screen resolutions - whether desktop, laptop, or mobile devices. This is all easier to achieve if you understand how client-side web technologies work and if you have access to edit the HTML.
Freedom of Choice
Possibly the biggest benefit of learning HTML (and using tools that give you access to the HTML) is that you aren't confined to a single tool or visual editor. It gives you the flexibility to use free code snippets, plugins and tech tips that you find online. It also means that you don't have to wait for the vendor to add support for new technologies in their visual editor before you can take advantage of it.
HTML is a web standard and it isn't going away. It works with RPG and all web-capable languages, such as PHP, Java, and .Net. Web technology naysayers who tell you that HTML is difficult or unnecessary to learn aren't considering the long term picture. It's beneficial to learn a web development approach that's much more commonly used. Coding an HTML page that's functionally equivalent to a green screen is actually fairly straightforward.
Although many of our customers use a visual editor, we've seen hundreds of RPG programmers learn HTML from scratch and create impressive applications. Learning how web technologies work opens a new world of possibilities that further improve workflows, such as mobile applications, geolocation, credit card validation, and package tracking.
Working with HTML that has been created by visual editors and is stored in non-standard formats or in DDS files isn't intuitive to experienced web developers and isn't typical of how web applications are created on other platforms. Most web application developers prefer to work directly with the HTML so they have full control over the UI.
Some companies also speak of open standards or open source regarding their approach to designing UIs. Until a standard is adopted by multiple vendors, this is of very little benefit to you. You'll need to spend a great deal of effort to use and customize the code outside of their tool.
At the end of the day, it's a choice between being forward-looking or backward-looking. Do you want to be confined to the limits set by your vendors, or do you want to open the door to all possibilities?
A Wise Investment
Investing time in getting familiar with HTML and other web standards makes you more a strategic asset to your company and allows you to take the next step in your professional development. This will open doors for you, advance your skill set, and enable you to future-proof your web applications and your career.