Application development and design
As software demands become more prevalent and complex, application development and design continues to experience a wave of changes in terms of tooling and practices. Learn about the latest in this field, including breakdowns of both established and emerging languages, as well as the key practices required for successful development efforts.
Top Stories
-
Tip
21 Dec 2023
Object-oriented vs. functional programming explained
While plenty of developers entertain the idea of adopting a functional programming model, it's important to first know exactly how it differs from the object-oriented approach. Continue Reading
-
Feature
19 Dec 2023
The 5 SOLID principles of object-oriented design explained
In this primer on SOLID, we'll examine the five principles this development ideology embodies, the practices they encourage and the reasons these concepts matter. Continue Reading
-
Tip
15 Dec 2023
How to make a strong business case for software projects
Every software project proposal requires in-depth research into the technical aspects at play, but the business case for the project should tone down the tech talk. Continue Reading
-
Tip
12 Dec 2023
A review of 7 software architecture visualization tools
Visualization tools like Visio and Draw.io can provide a lot of benefits when it comes to software architecture design and management, but choosing the right one is important. Continue Reading
-
Tip
07 Dec 2023
Comparing MERN vs. MEAN stacks for web app development
While MERN and MEAN stacks share many common elements, their respective use of React and Angular is a defining factor in choosing one or the other. Continue Reading
-
Answer
01 Dec 2023
11 real benefits of microservices
There's a reason why so many vendors have moved from monoliths to microservices. Here are 11 real benefits microservices bring to companies. Continue Reading
-
Tip
30 Nov 2023
Elixir vs. Clojure for functional programming at scale
While they don't have the prestige of JavaScript or Python, Elixir and Clojure are making a name for themselves when it comes to functional programming at scale. Continue Reading
-
Tip
16 Nov 2023
What does the Python 'if name equals main' construct do?
Ever wonder what Python's if name equals main syntax does? Here we explore what it does and when to use it. Continue Reading
-
Tip
08 Nov 2023
The basics of working with pseudocode
Writing pseudocode is a great way to practice problem-solving skills, a crucial aspect in programming. It helps developers conceptualize and communicate their ideas. Continue Reading
-
Tip
07 Nov 2023
The growing link between microservices and WebAssembly
The microservices architecture has become popular, but it runs into complexity and cost challenges. Implementing WebAssembly can alleviate those worries. Continue Reading
-
Tip
26 Oct 2023
Serverless vs. containers: Which one for microservices apps?
How do you know when microservices should run in containers vs. serverless functions? A big factor is what you plan to do with your microservices. Continue Reading
-
Tip
20 Oct 2023
Understanding the role of polymorphism in OOP
Polymorphism is used in OOP to allow developers to write more efficient code and redefine methods for derived classes; however, it could raise real-time performance issues. Continue Reading
-
Tip
19 Oct 2023
Understanding protocol buffers vs. JSON
Protocol buffers have some compelling advantages over JSON when it comes to sending data between internal services. But is it really a replacement for JSON? Continue Reading
-
Tip
17 Oct 2023
Scripting vs. programming languages: Where they differ
Choosing a programming language is often dictated by the problem the programmer wants to solve and the compute goal that a language is designed to achieve. Continue Reading
-
Tip
11 Oct 2023
Kotlin vs. Scala: Which one is right for your project?
As general-purpose programming languages, both Scala and Kotlin have a lot to offer. But that doesn't mean their uses cases are the same. Continue Reading
-
Tip
29 Sep 2023
Architecting beyond microservices and monoliths
A recent architectural change tied to Amazon's Prime Video service could help enterprise application teams understand their own microservices vs. monolithic architecture choices. Continue Reading
-
Tip
22 Sep 2023
What to know about building microservices with ASP.NET Core
It's optimized for containerization, integrates with the cloud and works on multiple platforms. Does ASP.NET Core deserve a place in your development shop? Continue Reading
-
Tip
19 Sep 2023
Rust vs. C++: Differences and use cases
C++ was mature before Rust even existed. Does that mean developers should switch from C++ to Rust? Not always. Continue Reading
-
Tip
18 Sep 2023
3 critical stops on the back-end developer roadmap
When it comes to acquiring the skills needed to be a proficient back-end developer, there are no shortcuts. Some of the topics to know will be obvious, others might not be. Continue Reading
-
Tip
15 Sep 2023
Idempotent HTTP methods and REST
The Hypertext Transport Protocol requires all HTTP verbs to identify as idempotent or not. But what is an idempotent method, and how does idempotence apply to RESTful API design? Continue Reading
-
Tip
11 Sep 2023
Three-tier vs. microservices architecture: How to choose
The microservices approach is well suited to an app that needs a high level of modularity. When is the added complexity worth it, and how do you make that call? Continue Reading
-
Tip
25 Aug 2023
Understanding Roc: Functional and separate from the runtime
Though it's a newer programming language with a small development community, Roc is meant to be an easy-to-read language that incorporates a pure, functional programming approach. Continue Reading
-
Tip
25 Aug 2023
The 5 essential HTTP methods in RESTful API development
Review these five common RESTful API HTTP methods that developers need to know. Use this guide to understand the differences and uses for each of the methods. Continue Reading
-
Tip
09 Aug 2023
Webhooks explained simply: What they do and how they work
Webhooks make significant use of basic API call mechanisms, while also setting event triggers in a few clicks of a button without the overhead of heavy request-response structures. Continue Reading
-
Opinion
04 Aug 2023
Making sense of cross-platform, distributed cloud app dev
Cross-platform, distributed cloud app development methods are innovative in how they can quickly deliver code. Their adoption also adds complexity to coding and management. Continue Reading
-
Tip
31 Jul 2023
3 questions to ask in a digital twin testing scenario
Is your team prepared to capture the right data so that your digital twin testing is accurate and effective? Here's what experts say about proper test approaches. Continue Reading
-
Feature
21 Jul 2023
10 types of programming jobs to check out in 2023
Some core programming skills are more in demand than others. Learn which ones are most valuable to the jobs in today's market. Continue Reading
-
Tip
19 Jul 2023
Haskell vs. PureScript: The difference is complexity
Haskell and PureScript each provide their own unique development advantages, so how should developers choose between these two popular programming languages? Continue Reading
-
Feature
12 Jul 2023
The negative impact of technical debt
Adding features on top of poorly written code is a recipe for a bad reputation and a compromised user experience. Here's a look at 12 negative effects of technical debt. Continue Reading
-
Tip
30 Jun 2023
How to apply the open-closed principle in Java
How does the open-closed SOLID principle work in a Java program? Here we show you what this important principle means, and how to implement the open-closed principle in Java. Continue Reading
-
Tip
29 Jun 2023
5 noteworthy challenges of automotive software development
Modern cars are loaded with technology, but creating in-vehicle applications isn't always a cakewalk. Here are five unique challenges developers face with automotive software. Continue Reading
-
Tip
22 Jun 2023
Breaking down the cornerstone components of OOP
Object-oriented programming changed the game for those working on complex software systems. But what are the key elements that define this prominent approach to development? Continue Reading
-
Tip
16 Jun 2023
Microservices vs. headless architecture: A brief breakdown
Microservices and headless architectures are both techniques capable of providing flexibility and modularity, but how do you make a wise choice between them? Continue Reading
-
Tip
12 Jun 2023
Top 7 smart contract platforms to consider in 2023
Platform speed, scalability, security and smart contract development support vary widely. Here's how to match features to your needs, plus the lowdown on the major players. Continue Reading
-
Tip
07 Jun 2023
How to create a smart contract using Ethereum
Solidity is a powerful language for programming and deploying smart contracts on the Ethereum network. Here's how to get started, with advice on choosing the best tools. Continue Reading
-
Tip
07 Jun 2023
9 programming languages for smart contract development
There are languages expressly for smart contract development, but you can also use general-purpose languages like C++ and Java. Here's how they differ, and advice on how to choose. Continue Reading
-
Tip
12 May 2023
Python interpreter vs. IDE: What network engineers should know
When using Python for network automation, network engineers often work with interpreters and integrated development environment tools to test modules and debug code. Continue Reading
-
Opinion
01 May 2023
How advances in GPT-4 could revolutionize app development
Although public attention has recently centered on ChatGPT, the underlying GPT-3 and GPT-4 models could be even more transformative, particularly for application developers. Continue Reading
-
Tip
21 Apr 2023
A quick look at the Carbon programming language
Carbon is an experimental programming language built to stand on the shoulders of C++ -- but with a new outlook on memory safety, threading and functional programming. Continue Reading
-
Tip
07 Apr 2023
The enduring link between Conway's Law and microservices
While Conway's Law is a decades-old concept, some would argue that the industry's rush to adopt microservices makes this take on development team structure more relevant than ever. Continue Reading
-
Tip
30 Mar 2023
How to apply the single responsibility principle in Java
How does the single responsibility model work in a Java program? Here we show you what this SOLID principle means, and how to implement the single responsibility model in Java. Continue Reading
-
Tip
30 Mar 2023
Ways to get by when Waterfall development reigns
Against all odds, the Waterfall methodology maintains a tight grip over countless numbers of software development teams. Fortunately, there are a few ways to make the most of it. Continue Reading
-
Tip
21 Mar 2023
The fundamentals of achieving high cohesion and low coupling
It's easy to say, 'high cohesion, low coupling,' but is it as easy to put into practice? We examine some of the basics behind cohesion, coupling and the right balance between them. Continue Reading
-
Tip
02 Feb 2023
The 10 most promising tools for Web 3.0 development
Web 3.0 doesn't exist yet, but there are many tools for developing apps for the next generation web and bridging the gap from today's Web 2.0 infrastructure. Continue Reading
-
Tip
17 Jan 2023
Rust vs. Go: A microservices-based language face-off
Rust and Go both offer language features geared toward microservices-based development, but their relative capabilities make them a better fit for some scenarios than others. Continue Reading
-
Tip
08 Dec 2022
A primer on core development team structure concepts
To establish the right development team size, managers must look at each member's responsibilities and communication paths, as well as know when to split teams. Continue Reading
-
Feature
26 Sep 2022
A breakdown of new features in Micronaut 3
Micronaut 3.0's updates to annotation changes bean management and injections may intrigue developers working on coding paths and error handling for microservices. Continue Reading
-
News
22 Sep 2022
Sisense adds trio of new embedded analytics capabilities
A new integration with Git, a multi-tenant environment and enhancements to the Extense Framework are designed to further the embedded BI capabilities of the vendor's platform. Continue Reading
-
Tip
20 Sep 2022
Abstract pattern recognition skills aid developers and musicians
What do good programmers and musicians have in common? The ability to recognize and apply abstract patterns helps both roles keep their work in harmony. Continue Reading
-
News
08 Sep 2022
5 reasons to prioritize application modernization
Application modernization should be at the top of an enterprise's to-do list for five reasons, including security concerns, staffing shortages and competitive differentiation. Continue Reading
-
Tip
22 Jul 2022
10 application performance metrics and how to measure them
You've deployed your application, now what? To keep your application performing well, you need to track various metrics. Take a look at these ten critical KPIs. Continue Reading
-
News
20 Jul 2022
Front-end build tool Vite.js speeds up development
JavaScript development server and bundler Vite.js brings multiple enhancements with the release of Vite 3.0. Continue Reading
-
Tip
18 Jul 2022
A quick glance at the history of C programming languages
Since C hit the scene in 1972, the language has continuously evolved to stay relevant in modern development. We examine C's history and why it's still relevant. Continue Reading
-
Tip
30 Jun 2022
A 7-point language comparison of Ballerina vs. Golang
This comparison takes a look at both Ballerina and Golang, including their support for high-level programming, libraries, built-in management features and community support. Continue Reading
-
Tip
27 Jun 2022
How viable is it to create microservices in Python?
Python offers microservices developers access to advanced scripting, embedded testing and plugin tooling. But is it a good fit for you? And what are the alternatives if it isn't? Continue Reading
-
Tip
10 Jun 2022
11 cloud programming languages developers need to know
How do you choose the cloud programming language that best suits your current and future needs? Explore 11 popular options and their use cases. Continue Reading
-
News
08 Jun 2022
OpenJS World 2022 highlights what's new in web standards
At OpenJS World 2022, a keynote panel discussed efforts focused on improving interoperability and evolving web standards, and commiserated on how some things will never change. Continue Reading
-
News
18 May 2022
Google Firebase speeds developer process with new features
The new Firebase additions may not excite developers, but they do add some much-needed functionality to the platform. Continue Reading
-
Tip
12 May 2022
Smoke testing vs. sanity testing explainer on key differences
While smoke and sanity testing are both techniques QA professionals use to quickly identify feature defects, they differ when it comes to scope, automation requirements and timing. Continue Reading
-
Tip
18 Apr 2022
The fundamentals of writing effective acceptance criteria
Acceptance criteria plays a key role in shaping an application from the user standpoint. We review some of the basic things to remember when it comes to acceptance criteria. Continue Reading
-
News
07 Apr 2022
Atlassian product expansion raises fresh integration questions
Atlassian added analytics and new Atlas and Compass apps to orchestrate work among distributed teams, but some customers still seek deeper integrations between its cloud tools. Continue Reading
-
News
23 Mar 2022
Nvidia unveils latest 3D sim tech for multiple industries
Nvidia has launched a cloud-based version of its Omniverse platform for 3D simulations. The company also unveiled an Omniverse computing system. Continue Reading
-
Tip
21 Mar 2022
The basics of working with declarative programming languages
While imperative programming is often a go-to, the declarative approach has proved useful in the face of demands for complex, feature-heavy business applications. Continue Reading
-
News
15 Mar 2022
Golang generics spark excitement, anxiety in watershed release
Golang generics support is a landmark event in the language's evolution that some say could expand enterprise usage, while others are nervous about potential complexity. Continue Reading
-
Tip
07 Mar 2022
Micro apps vs. microservices: What developers should know
On the surface, the contrast between micro apps and microservices simply seems a matter of front-end vs. back-end concerns. But this isn't the only difference worth knowing. Continue Reading
-
Tip
28 Feb 2022
Follow these 5 best practices for cloud-native app development
Cloud app developers can strategically create and maintain better applications if they know and follow best practices of cloud-native app development. Continue Reading
-
Tip
16 Feb 2022
An intro to cloud-native microservices and how to build them
While there are a variety of ways to develop cloud-native microservices, focus on strategies that enable as much agility, resiliency and development simplicity as possible. Continue Reading
-
Tip
10 Feb 2022
A brief breakdown of declarative vs. imperative programming
While imperative programming is both an established and approachable method of coding, the declarative model is gaining appeal as demands for complex, flexible features increase. Continue Reading
-
Tip
19 Jan 2022
WebStorm vs. Visual Studio, and how to choose the right IDE
WebStorm and Visual Studio represent two ends of a wide spectrum when it comes to the IDE platform market. However, their true differences go well beyond their pricing structures. Continue Reading
-
Tip
10 Jan 2022
Using the BFF pattern to keep UIs flexible and reliable
BFF is a simple design pattern that can help developers address UI-related challenges, such as problematic coupling, overfetching of data and inconsistent error handling. Continue Reading
-
Tip
11 Nov 2021
Programming in Ruby: A critical look at the pros and cons
While Ruby showcases an impressive spread of beneficial features, there are still specific shortcomings that may explain why its adoption numbers have been conspicuously erratic. Continue Reading
-
Tip
28 Oct 2021
PHP 8 features that prove it's for more than just web
Looking to keep up with the demand for increasingly sophisticated development capabilities, PHP 8 brings interesting new integrations that transcend the realm of web development. Continue Reading
-
Opinion
04 Oct 2021
Should software architect responsibilities include coding?
There are many variations to the role of the software architect in today's IT teams, and a lingering debate is over whether they should all be hands-on with code. Continue Reading
-
Tip
28 Sep 2021
8 fundamental microservices security best practices
Despite the benefits, microservices will introduce profound security issues. We review the biggest microservices security challenges and eight strategies used to combat them. Continue Reading
-
Tip
25 Aug 2021
The functional programming paradigm at enterprise scale
Many enterprise-level architects rely on an object-oriented approach, but there are good reasons and practical ways to introduce functional programming within large-scale systems. Continue Reading
-
Tip
19 Aug 2021
.NET vs. Node.js: What they are, and which to choose
The choice between using .NET and Node.js for application development shouldn't be a difficult one but requires a solid understanding of each approach's pros and cons. Continue Reading
-
Tip
04 Aug 2021
The 4 Golden Signals, and how to put them into practice
There's nothing easy about monitoring distributed systems, but the right metrics can help. Here's how to put the Golden Signals of software reliability to work. Continue Reading
-
Feature
22 Jun 2021
To master software design patterns, perspective is everything
Elisabeth Robson and Eric Freeman, authors of 'Head First Design Patterns,' outline their quest to teach software design patterns and show developers the right way to learn them. Continue Reading
-
Tip
17 Jun 2021
Static vs. dynamic typing: The details and differences
What are the key differences between static typing and dynamic typing, and what role do their differences play in the decision to use one programming language over another? Continue Reading
-
Guest Post
20 May 2021
The role of DevOps practices in application design
Fancy architecture diagrams and aesthetically pleasing code are nice things to have. But they don't mean much without the support of DevOps-centric design practices. Continue Reading
-
Tip
06 May 2021
Frameworks, libraries and languages for machine learning
While some developers may find the complex algorithms and processes intimidating, these frameworks, libraries and languages for machine learning can help get you started. Continue Reading
-
News
29 Apr 2021
Atlassian Open DevOps beats 'good enough'
Atlassian's new Open DevOps strategy taps best-of-breed DevOps tools for integration into a single toolchain to ease the burden for software development teams. Continue Reading
-
Tip
13 Apr 2021
5 dead programming languages we should never forget
These five programming languages may fade into obscurity over the next decade, but the profound influence they've had on modern development should not be forgotten. Continue Reading
-
Tip
06 Apr 2021
Is life as a freelance software developer for you?
Succeeding as a freelance developer requires much more than waiting for clients to contact you. Explore how to boost your skill set and land freelance gigs. Continue Reading
-
Tip
31 Mar 2021
Micro apps: A simple way to add sophisticated features
When building a new web or mobile app seems like overkill, micro apps might be the most practical way for developers to add niche features and functionality. Continue Reading
-
Tip
29 Mar 2021
Diagrams.net vs. Lucidchart: A few things to consider
While UML diagramming is a relatively universal approach, not all visualization tools are made for the same crowd. Diagrams.net and Lucidchart offer a good example of this. Continue Reading
-
Tip
26 Mar 2021
The difference between front-end and back-end developers
While front-end and back-end application development are two parts of a greater whole, the specifics of each career present some stark differences between them. Continue Reading
-
Tip
19 Mar 2021
3 predictable application architect interview questions
Software architecture roles are awfully industry specific, but there are still baseline skills employers want to see. These are some of the questions they ask to find those skills. Continue Reading
-
Opinion
16 Mar 2021
Fight microservices complexity with low-code development
Software developers are in a constant battle with complexity. Microservices hold promise as ready-to-assemble app components, but low-code development might be a better approach. Continue Reading
-
Tip
11 Mar 2021
An application architect's chief roles and responsibilities
Today's application architect isn't just a high-caliber developer, but an experienced leader with both the technical and business chops to propel an organization's software strategy. Continue Reading
-
Tip
08 Mar 2021
Get to know 4 microservices versioning techniques
Are you struggling to apply updates consistently across distributed services? Here are four microservices versioning techniques that can help. Continue Reading
-
News
24 Feb 2021
Lightbend launches new Akka Cloud Platform on AWS
Lightbend's new Akka Cloud Platform seeks to bring a simpler approach to cloud-native development than options from hyperscalers and companies such as Pulumi and Serverless. Continue Reading
-
Tip
22 Feb 2021
App interface design principles all developers should know
The first step in choosing the right app interface design is to understand the options available to developers. Dive deeper into these popular design concepts and approaches. Continue Reading
-
News
18 Feb 2021
Google, Microsoft back Python and Rust programming languages
As Google and Microsoft join and strengthen forces with the foundations behind the Python and Rust programming languages, the companies will get to help shape their future. Continue Reading
-
Tip
12 Feb 2021
NetBeans vs. Eclipse: 5 key comparison points for these IDEs
When implementing IDEs into an application architecture, Eclipse and NetBeans are often top contenders. But is one of these IDEs really better than the other? Continue Reading
-
Tip
11 Feb 2021
4 reasons Dart is still a language worth learning
Despite a perception that it is dead, there are a few reasons Dart is still a language worth learning. We explore a few reasons why it may not be as obsolete as some think. Continue Reading
-
News
09 Feb 2021
Survey: Open source skills more valued than proprietary ones
In the hybrid cloud world, developers with open source skills are more likely to be hired by enterprises than developers skilled in proprietary technologies. Continue Reading
-
Feature
27 Jan 2021
5 tips for stronger development team management
Being a competent manager and leading a successful software development team isn't as easy as it looks. Explore the skills, tools and best practices that can strengthen your current workforce. Continue Reading
-
Tip
22 Jan 2021
The differences between SVN and Git that matter
Not sure how to pick between Git and SVN for your versioning needs? We break down the key differences between these tools, including their most potent benefits and drawbacks. Continue Reading
-
Feature
13 Jan 2021
Examining the low-code market's race for citizen developers
Low-code and no-code vendors are fighting viciously for the favor of citizen developers. Examine the reasons for this trend and the market moves that reveal these vendors' motives. Continue Reading
-
Tip
18 Dec 2020
The 4 rules of a microservices defense-in-depth strategy
Learn the four must-follow rules when introducing defense-in-depth to a distributed microservices architecture, especially when services traverse numerous networks and apps. Continue Reading
-
Tip
09 Dec 2020
Objective-C vs. Swift: The war for iOS development supremacy
While Objective-C still holds the crown, Swift is quickly mobilizing to rule iOS development. Let's examine and compare the most compelling features of each language. Continue Reading