Enterprise JavaScript
Dan Curtis, UI Manager
12 December 20227 minute read
If you want a truly full-stack development team that can hold down the backend, frontend, and testing of your customer portals, apps, websites, and chatbots, the best language you could have them working in right now is JavaScript.
It encourages team collaboration and skill development in a way you'd be hard-pressed to achieve with any other single programming language.
Why is JavaScript so powerful as a universal development language? How can it be used for everything in how you deliver your digital customer experience? And how can your team or teams move toward this strategy of development? We cover all of that below.
JavaScript, or JS, is undisputedly the world's most popular programming language - SlashData reports that 17.5 million developers are using JS globally, more than any other language (Python came second, with 15.7 million users).
The Netscape developers who invented Javascript could never envisage how well a language they threw together for scripting frontend website behaviour has done. In its 27th year, JS has become the dominant technology for software applications of all kinds.
JavaScript has a few advantages that make it an excellent choice for your dev team:
It's almost impossible to develop digital solutions and online experiences without JavaScript – given how ubiquitous it is, even if your team isn't not using JS directly, they are almost certainly using an app or tool that relies on it. Not least, your web browser.
Expanding your expertise into different niche areas of JS is also relatively easy. There is an abundance of material available for developers in the form of books, blog posts, newsletters, extensive documentation, cookbooks, and many code samples that can be tried out and edited online.
JS has become one of the few languages with which it's possible to make almost an entire software product using one technology.
Especially since its ES6 revision in 2015, which introduced major object-oriented features like classes, module support, and default parameters, you can create a product's UI/Frontend, Business Logic, APIs, and backend all in JS. You can even develop your internal tools and testing environments with JS too.
The capacity to merge the tech stacks of frontend and backend development is especially powerful and leads to further benefits we cover below.
The one area where you will need additions to your tech stack is with databases, likely something your team already knows. The two popular choices are MySQL – if you need a relational database – and NoSQL – for your non-relational database needs.
JS has the added advantage of being truly omnichannel. You can develop applications big and small, client or server-side, on any device or operating system. JS development is also growing into new areas, including the Internet of Things and Augmented Reality.
While JS has the benefit of being an open standard, one of the most attractive features of using it is all the free, open-source frameworks and runtime libraries available.
The JS ecosystem is huge, there are thousands of contributors worldwide offering a wealth of battle-tested off-the-shelf solutions for most of the problems developers encounter.
There are too many to cover comprehensively, but to name the most popular ones:
React
A front-end library for building user interfaces based on UI components.
Node.js
A server runtime environment with a large selection of tools and tech you can pair with.
React Native
A development framework used for building cross-platform mobile UIs.
TanStack
A framework-agnostic, headless UI set of TypeScript-ready libraries.
Vue.js
A frontend framework for building UIs that expands what you can do with HTML.
TensorFlow
A library used for machine learning and neural network development.
jQuery
A lightweight library for streamlining data manipulation, event handling, and other important utilities.
Angular
A development framework that uses Typescript (a superset of JS) that makes it easier to develop and scale large apps.
Ember.js
A web framework that allows you to put many components and services together for both frontend and backend development.
Diagrams.net (formerly draw.io)
Graph-drawing software that helps you create charts and diagrams using Javascript.
Break down walls
While all these benefits and the ease of starting or expanding your use of JS are great, the biggest reward comes for organisations that can get all their teams to use it as their primary language.
Since, as we pointed out above, you can use JS for almost all parts of application and software product development, this approach is a powerful tool for removing walls and siloes.
While cost-efficiency is one of the biggest draws of creating multi-stack teams, they also break down any divides between client and server-side development.
All your teams can grow and work on whatever part of development where they are most needed, including testing, which no longer needs to be a discrete part of your product development but integrated into the routine of your development teams using tools like Cypress.
If fully implemented, with buy-in from all your teams, you should see the results in a few ways:
If all your teams speak the same language, there should be fewer handoffs between teams and less time spent in meetings for one team to explain the state of development. With the use of DevOps practices, it should also be possible to grow a development culture where it's easy for different teams to maintain a shared understanding of what each other is doing, simplifying the development and deployment process.
If you have teams that all use JS and are empowered to work on all parts of app or product development, you should have less need to retain specialists and outside consultants. Instead, you can focus on supporting the professional growth of what is popularly known as T-shaped developers: professionals who expand their skills while having a primary area of expertise.
This scenario will be familiar if you've been in software development for a long time. While building a large or complex software product, one development team needs more time and resources to complete a feature or component. But because the feature is critical to completing other parts of the product, another team is blocked from further work while they wait for the feature to be ready.
It's aggravating for the waiting team, who are left with little to do (or having to look busy), and it's horrendously inefficient and wasteful for the business. If you have all your teams using JS, coupled with a shared understanding of each other's work, you can avoid this costly mire with teams that can help each other to complete a feature.
The outcome of all this should be reduced lead time (time from when a feature request is made to its delivery) and reduced cycle time for all your teams (the time they spend working on fulfilling a request).
We hope you found something useful here that gives you ideas for your product or your team's development. JS is only going to get more popular. Given the constant need for innovation in how we deliver customer experiences and how rapidly we can deliver them, JS is well positioned as a language that:
• Can be almost everywhere in software development
• Is easy to learn and find guidance on
• Has an enormous wealth of different frameworks, libraries, and tools
• Results in smaller teams that deliver quicker
If you're interested in learning more about how JavaScript-based choices can help you and your organisation, we'd love to chat. Griffiths Waite has been refining this approach to product development for over a quarter of a century. Drop us a line at sales@griffiths-waite.co.uk to learn more.
Enter your email below, and we'll notify you when we publish a new blog or Thought Leadership article.