Clif Notes: It's Going to Get Busy
The year 2013 is barely underway, and I already feel like I'm falling behind. What a great time to be a MultiValue developer. There are just so many new
toys to play
with technologies to explore that I hardly know where to start. Unless a person is a MultiValue couch potato, clinging to their outdated skill set and hoping to just slide by without learning anything new until they can retire, how could anybody be bored? With all of the major MultiValue platforms now having good connectivity to the latest modern technologies, there are numerous
opportunities to move the user experience off of the database and let MultiValue do what MultiValue does best — model data, store and retrieve it efficiently, and provide the application developer with a cost-effective database that is flexible, easy to work with, and doesn't insist on getting in the way of what you're trying to accomplish. Here are a few examples of what I'm talking about.
First up is the topic of GUIs. I know very few MultiValue developers who have not stopped attempting to argue that green screens are preferable to GUIs. The users, and just as important to us developers, the people who write the checks to buy stuff from us, have spoken. And with a loud voice and a heavy wallet have declared that Green Screen is Dead. Of course, with the thousands of green screen programs still in production, nobody with any experience would consider suggesting rewriting all of them in a massive "do or die" replacement project. But in most cases, any MultiValue developer who refuses to consider doing all new development (and possibly an as needed replacement on a program-by-program basis) in some form of modern GUI is just begging for a job transition to being a greeter at Walmart.
So how to put GUIs on our applications; what to use? There are number of ways of doing it, of course. Look at just a few of your options. You can go with some form of GUI-based application development tool provided by your MultiValue provider. Or you could get down and dirty with something like Java and Swing. Or you could use the NetBeans IDE and the Swing GUI Builder. Not fond of Java? Well there's always the old standby, Visual Basic. In its latest incarnation, Visual Basic.NET is a pretty easy language for MultiValue Basic programmers to transition to. And the.NET framework does most of the heavy lifting for you. If you feel too pure to sully yourself with Visual Basic, there's always C #.NET. And now with an open source package called Mono, the .NET framework is available on Linux, Mac, and Unix.
There are number of techniques and products for application development with rich GUI interfaces that make use of intermediate web servers and web technologies.
And then came the demand to make data available to the users via the web (both Internet and intranet). My, oh my. What a wonderful box of gizmos we have to rummage through here. Of course, there are the new versions of HTML, XHTML, and other variants. If you took a look at HTML a few years ago in its early forms and turned your nose up at it thinking it was little more than a glorified RUNOFF, you better look at it today. There is CSS, Cascading Style Sheets, which is intended to allow you to separate the design and appearance of a website from the actual content. And as you would suspect, any good idea like CSS will eventually start popping up in other uses than what it was originally developed for, such as documentation preparation and formatting from MultiMarkdown to LaTeX or PDF.
Then came the smart phones, and the user demand for access to data by that little device that they carry with them everywhere (even into the restroom, for heaven sakes!) And the requests of the mobile market exploded. Since smartphones come with web browsers built-in, websites are now expected to be "reactive," meaning that they automatically detect what kind of devices "are" using what kind of browser to view them and provide a customer experience that is tailored to that platform. Fortunately, designing reactive websites is becoming a little bit easier through the use of "platform-aware" content management systems such as Joomla!, Drupal, and WordPress, to name just three of the more popular frameworks. (As a side, or snide, note, I was always amused that the Apple website was not iPhone aware and was virtually unreadable on the device that took the mobile market by storm at the time.)
But websites alone are not enough. Sometimes the desired user experience requires a bit more than web technologies can provide, or there is a need to capture, process, and store data when no web connection is available. For that, we have Apps.
Ooh, look. We have yet another box of goodies to wallow in. There are frameworks available to help ease the workload of producing mobile apps, such as Adobe Cordova, formerly known as PhoneGap. Or, you may decide that you need to get down into the guts, and do good old fashion programming. Typically that requires learning Objective-C if you're going to develop for the iPhone SDK or Java if you want to develop for Android. But even that is changing. For example, using a product like MonoTouch for "iOS" and Mono for Android you can write cross-platform applications for these mobile devices using C# on .NET. I imagine there are others I haven't run across yet or are lurking just offstage ready to be introduced.
Let's not forget our own of beloved MultiValue Tools Vendors. From attractive reporting to advanced Business Intelligence to system connectivity to full scale application system development, there are many fine solutions, from people who understand us and our data model, to explore and use to increase our productivity in getting the job done. (Take a look at the back issues of the magazine for both advertisements and announcements in our Press Room section.)
This is by no means an exhaustive list of the things a modern MultiValue developer has available to them. These were just a few of the ones that particularly interested me as I was musing on how our MultiValue industry keeps changing. I'm sure that there are some technologies not mentioned that have caused your nose to start twitching in anticipation. I'd like to hear your thoughts. Send your comments to firstname.lastname@example.org.
As for me, I'm tired just thinking about how many things there are to pursue in 2013. I think I'll go take a nap.