My father recently underwent a full knee replacement. Before the procedure, my sisters, both who are physical therapists, provided a wealth of pre-surgical exercises as well as a list of information about the road to recovery. Due to the distance between where my parents and sisters live, my dad is going to a local hospital for post-surgery physical therapy and reports back to my sisters on his progress. I have business degrees so most of their text exchanges are Greek to me (extension, range of motion, flexion, patellar mobility, and the list goes on). What seems most noteworthy is the wide differences in opinion regarding treatment plans and protocols. My sisters generally share the same viewpoint, which tends to vary from my dad’s physical therapist. What I’ve learned from all of this is that if you ask five different physical therapists the same question, you will likely get five different responses. The same seems to be true in other professional fields.
Ask five different lawyers about a case scenario, and you’ll get five different recommended approaches. The same diversity of opinion comes from IT developers on web and mobile development. If you ask an array of programmers which tools and languages they prefer to use to build these apps, they will have different opinions based on their skill sets, comfort zone, past experiences and tenure. Given the plethora of languages and frameworks available in the marketplace, it’s difficult to say whose development approach is best.
Cause and Effect
What is best for your business needs may be to look well beyond the development task at hand and also focus on the long-term aspects of support and maintenance. And this broader view needs to consider the number of different scripting technologies, programming languages and frameworks the development team needs to support.
In fact, the language or framework of choice selected today may not be practical two or three years from now. I remember reading one thread on Quora where a developer said his web apps were built with Angular JS. Then came Angular 2, a framework that is non-backward compatible with apps built in previous versions (of Angular). The developer was pleading for help in determining whether to stay with Angular JS or learn a completely new framework and re-write his app. On a level of pain chart, with 1 being none and 10 being the most severe, this developer seemed to be at a 12.
Unfortunately, this scenario is all too common and developers are consistently faced with the pressure to stay on top of every most loved and desired web and mobile technology. Even then, sometimes their knowledge in multiple languages and frameworks is not enough. I recently interviewed Chris, IT manager who wanted to port their quote to cash application to the web. His team was proficient in HTML, JavaScript and JSON, and had years of experience developing back-end applications.
Chris knew his team would need to learn the front-end side of things and was confident they could do so. He selected a JavaScript web framework and after a few months into the project became concerned about manageability. Parsing JSON objects were becoming nasty, debugging was beyond difficult and each team member was off developing their own mini application. Ultimately, development stopped, and Chris began looking at alternative solutions.
An Alternative Approach
Using traditional development methods to build business applications oftentimes ends up costing more time, more money and interferes with IT’s ability to deliver value – as was the case with Chris’s situation.
An alternative approach is using low-code development tools to visually build business applications faster and cheaper than traditional methods. With less code, there’s less to maintain, less to debug and less to test. But, there is a perception that low-code development tools are good for only developing lightweight applications. When the application requirements get complicated, most low-code platforms allow developers to add code from the languages of their comfort zone to build the stuff that low-code can’t. Using their preferred languages, developers can interface with and extend their low-code application to other systems and databases. Now we’re back to the wild west of programming language mix and match with a bit of low-code added in.
It might be the fastest way for developers to get the application built, but what about the long-term aspects of maintenance and support? Perhaps not much better. Perhaps worse when you consider the new version interdependencies between this low-code platform and the added language mix and match.
What if your new low-code platform could integrate with existing languages, systems and databases to enable the integration needed to build new applications for mobile, web, cloud and desktops? And also include a single, built-in programming language to let you reach beyond the capabilities of low-code? It’s like having the best of both worlds: access to all the systems and databases where your data lives, but with a path forward that doesn’t hinder your new application development with the technical debt of multi-programming language and framework de jure methods.
Chris and his team found they could develop numerous new applications with LANSA’s low-code and built-in programming language much faster than before. They weren’t limited to just the reach of low-code capability, ultimately building an overall system that spans from quote to contract for their support, service, sales and partner network. And best of all, they have maintained and supported the system much more easily and quickly without the technical debt that comes with multi-language methods.