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
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
-
News
03 Aug 2020
Deloitte, Unqork team up to bring no-code to the enterprise
Deloitte has partnered with no-code development platform provider Unqork to help enterprise customers that are undergoing digital transformations and app modernizations. Continue Reading
-
Tip
21 Jul 2020
A comparison of 6 top programming languages
Choosing the right programming language can be tough. We place six popular languages head to head: Python vs. Ruby, Kotlin vs. Swift and Erlang vs. Elixir. Continue Reading
-
Feature
13 Jul 2020
If software architects' soft skills fail, so does the business
Mark Richards and Neal Ford, authors of 'Fundamentals of Software Architecture,' share real-life examples of why architects must communicate well, and explain how to do it. Continue Reading
-
Feature
30 Jun 2020
Key strategies to help migrate to microservices
Microservices adoption is no easy feat. In addition to the technical process of transitioning from a monolith, enterprises must also look at team structure and common migration mistakes. Continue Reading
-
Tip
29 Jun 2020
Why COBOL modernization matters, and how devs can react
With COBOL expertise in high demand and low supply, it may be time for devs to think about how much they really know about this language. We explore why COBOL skills still matter. Continue Reading
-
Tip
29 Jun 2020
What is the strangler pattern and how does it work?
The strangler pattern allows software teams to retire legacy systems incrementally and avoid the pitfalls of major rewrites. We examine this pattern and detail the steps involved. Continue Reading
-
News
26 Jun 2020
Amazon uses spreadsheet interface for Honeycode no-code tool
Amazon Web Services has delivered a new no-code tool called Honeycode. It is a fully managed service with a spreadsheet user interface for non-programmers to create apps. Continue Reading
-
Tip
22 Jun 2020
4 best practices for creating architecture decision records
An ADR is only as good as the record quality. Follow these best practices to establish a dependable ADR creation and maintenance process. Continue Reading
-
Feature
17 Jun 2020
The guide to landing an enterprise architect job
Interested in becoming an enterprise architect? This guide reviews the essential responsibilities of architects and how you can master the application process. Continue Reading
-
Tip
02 Jun 2020
How to start using a BDD framework
Why bother with behavior-driven development? Learn how this Agile-focused development framework can help bolster application quality, and explore tooling that can help. Continue Reading
-
News
28 May 2020
DockerCon 2020 showcases tighter alliance with Microsoft
Docker has introduced an integration with Azure Container Instances that developers can use to run Docker commands in ACI and switch from desktop development to the cloud. Continue Reading
-
Tip
26 May 2020
Refactor vs. rewrite: Deciding what to do with problem software
At some point, all developers must decide whether to refactor code or rewrite it. Base this choice on factors such as architectural soundness, time, money and goals. Continue Reading
-
Tip
15 May 2020
A review of top software architecture visualization tools
Developers need access to up-to-date software diagrams and documentation. Here are seven tools, from Visio to Mermaid, that provide visual models of code and design patterns. Continue Reading
-
Feature
13 May 2020
2020 conferences for software developers and architects
Fortunately, you can't lose your badge at a virtual conference. Check out our list of both online and in-person conferences, including DockerCon, API World and Microsoft Build. Continue Reading
-
Tip
30 Apr 2020
Kotlin vs. Swift: An open source programming language face-off
Take a look into what Kotlin and Swift have to offer in terms of cross-platform capabilities, library support and ease of use. Also, review their major strengths and limitations. Continue Reading
-
Photo Story
29 Apr 2020
5 best practices for remote development teams
More developers than ever now work from home and must quickly adapt to remote life. Our experts explain how to proactively support the isolated members of your development team. Continue Reading
-
Tip
21 Apr 2020
Use tokens for microservices authentication and authorization
Independent and interoperable microservices require a permissions rethink, or you'll drive users crazy. Examine how tokens come into play for authentication and authorization. Continue Reading
-
Tip
30 Mar 2020
5 key software testability characteristics
How do you design the software components for comprehensive testing? Start with these fundamentals of software testability -- from mocks and stubs to infrastructure-as-code. Continue Reading
-
Feature
23 Mar 2020
14 top mobile app KPIs that advance development
No matter its purpose, a mobile application must meet expectations from users and corporate stakeholders. Here are 14 mobile app KPIs that you need to know. Continue Reading
-
Tip
23 Mar 2020
What is the difference between Python and Ruby?
In this article, we explore the genesis of these two programming languages, notable characteristics and differences, and where each language might be headed. Continue Reading
-
Tip
18 Mar 2020
A concurrent programming faceoff: Erlang vs. Elixir
Do you want the strong data integrity of Erlang, or the flexibility of Elixir? We explore the pros and cons of each in this head-to-head language matchup. Continue Reading
-
Tip
03 Mar 2020
Consider these key microservices caching strategies
Data caching is a key part of ensuring microservices have easy access to the data they need. We review a few key caching strategies. Continue Reading
-
Tip
19 Feb 2020
5 big microservices pitfalls to avoid during migration
Too many development teams make these failure-inducing mistakes during a switch to microservices. Learn where things go wrong, and the best ways to avoid problems. Continue Reading
-
Tip
07 Feb 2020
Rethinking change control in software engineering
The traditional method of application change control won't fly in a modern, DevOps environment. Here's how we can rethink the process in a time where rapid app development rules. Continue Reading
-
Tip
03 Feb 2020
A few fundamental microservices team structure strategies
A microservices architecture can be quite a culture shock to unprepared enterprises. Here's how you can prepare your team to make microservices part of development processes. Continue Reading
-
Tip
28 Jan 2020
The fundamental benefits of programming in Rust
Why does Rust continue to rise in popularity? We examine the features of this composable, cross-platform language that make it a valid competitor to C-based coding. Continue Reading
-
Feature
27 Jan 2020
The 3 fundamentals of hybrid cloud architecture management
When an enterprise chooses hybrid cloud, it needs to ensure the application harmonizes between the two environments. Review these three tips on architecture, integration and APIs. Continue Reading
-
Tip
17 Jan 2020
Advantages of monolithic architecture that prove it isn't dead
Don't rush to break up a monolith too quickly without considering what you might lose in the process. We examine why a monolithic architecture is sometimes the smarter choice. Continue Reading
-
News
09 Jan 2020
GraphQL vs. REST choice steers microservices development
GraphQL vs. REST: That is the question as teams tackle microservices architecture design, and at Pantheon, the choice came with both business boons and technical debt. Continue Reading
-
Tip
02 Jan 2020
How the .NET Core platform advances cloud-based app deployment
The capabilities of .NET Core keep developers interested. We break down the reasons why that's the case. Continue Reading
-
Photo Story
31 Dec 2019
5 predictions for 2020 software architecture trends
The past decade brought big changes to app development and management. Now, our contributors predict what the biggest software architecture trends of 2020 will be. Continue Reading
-
Tip
09 Dec 2019
The benefits of Python are plenty, but it's not for everyone
Python boasts plenty of features that make it a go-to object-oriented language. But is it always the right choice? We take a look at what you should know about coding with Python. Continue Reading
-
Feature
11 Nov 2019
6 quick facts about a Java microservices architecture
Building microservices in Java may not be as simple as it seems. Here are six quick facts and tips that will help you with Java-based microservices development. Continue Reading
-
Tip
22 Oct 2019
Scala: Lightweight functional programming for Java
Scala provides a lightweight code option for Java development, but there could be a steep learning curve. Learn a little about Scala and if it's worth adopting. Continue Reading
-
Tip
21 Oct 2019
3 ways to implement a functional programming architecture
Functional programming, which came about as a highly theoretical, mathematical way to build software, has a place in APIs and other components of applications. Continue Reading
-
Guide
17 Oct 2019
The vital guide to modern programming languages and their uses
Get to know programming languages that match modern development styles and architectures like mobile dev, serverless computing and microservices. Continue Reading
-
Tip
16 Oct 2019
The benefits -- and tradeoffs -- of a mobile SDK
A mobile SDK can do wonders for mobile app development. But how does it work, and what are the pitfalls to watch out for when you take this approach? Continue Reading
-
Feature
27 Sep 2019
Tips to use for microservices in mobile app development
With mobile apps dominating enterprise customer interactions, developers must dig into microservices architectures, brush up on programming skills and decipher business requirements. Continue Reading
-
Tip
24 Sep 2019
Elixir functional programming enables concurrency, fault tolerance
Developers can combine features of Erlang functional programming with a newer language, Elixir, which promises simplicity and fault-tolerant operations for distributed applications. Continue Reading
-
Tip
09 Aug 2019
API workflow design patterns for microservices scenarios
When it comes to workflow systems for microservices, there's no one-size-fits-all approach. Learn about the API workflow pattern options that can set you straight. Continue Reading
-
Tip
23 Jul 2019
4 practical methods to increase service resilience
Resiliency refers to the ability of your architecture to quickly predict, detect and mitigate potential performance failures. Here are four ways to fortify your software. Continue Reading
-
Tip
19 Jul 2019
3 distributed tracing tools perfect for microservices
Distributed tracing is a critical part of the microservices monitoring processes. Here are three tools that can help provide the view you need to identify strangling bottlenecks. Continue Reading
-
Tip
28 Jun 2019
3 serverless development strategies for stateful applications
Serverless developers can connect stateless functions to state information in several ways, without introducing debilitating latency to the application design. Continue Reading
-
Tip
24 Jun 2019
Simplify Java-based development with the Kotlin language
What makes Kotlin popular among Java professionals? Explore the attributes of this functional programming language that's equipped for both traditional Java and Android developers. Continue Reading
-
Tip
12 Jun 2019
Get realistic about your multi-cloud strategy aspirations
Multi-cloud is attractive to software teams that want to expand their development toolboxes, but be careful about the complexity it can add to your overall development lifecycle. Continue Reading
-
Tip
07 Jun 2019
Explore Clojure programming language and its multithread style
Discover the fundamentals of the Clojure programming language and its Java-specific uses and tool pairings to see if this multithread programming approach is a fit for your team. Continue Reading
-
Tip
31 May 2019
4 tips to tackle common microservices testing problems
Flaky tests put code quality -- and development team morale -- at risk. Proliferating microservices stress out test environments, so use these techniques to keep everything running. Continue Reading
-
Tip
16 May 2019
How to create a stateful application with service brokers, DTP
Complex state control issues come with the territory of stateful application design. Learn useful concepts that manipulate state and enable a stateful app to work as envisioned. Continue Reading
-
Feature
09 May 2019
Exploring the versatility of Groovy programming
Java developers should peruse Groovy's programming features, such as dynamic typing with static type checks, DSL builders and more. Continue Reading
-
News
02 May 2019
Customers respond to Docker Hub security breach
A Docker Hub data breach was top of mind at DockerCon this week, but users mostly waved off its broad impact as enterprises generally have their containers on lockdown. Continue Reading
-
News
01 May 2019
Docker Enterprise suite overhaul eases container uptake
Docker is working to help enterprises ease their way into using containers with a suite of services and pre-integrated capabilities in products in Docker Enterprise 3.0. Continue Reading
-
News
01 May 2019
Docker on ARM pushes cloud app development to the edge
Docker's deal with ARM expands the container company's reach to include developers who build applications on the RISC architecture for edge devices. Continue Reading
-
Feature
24 Apr 2019
Continuous architecture combats dictatorial EA practices
To thrive today, Agile businesses must outgrow the architecture review board and enterprise silos to create an integrated culture of continuous planning and management. Continue Reading
-
Tip
22 Apr 2019
The key differences between stateless and stateful microservices
Not all services are the same. Learn about the fundamental differences between a stateful and a stateless microservice and the appropriate scenarios for each. Continue Reading
-
Feature
16 Apr 2019
When event-driven messaging is the right choice
Event-driven messaging and API messaging both have their place in application architecture. In this Q&A, a Gartner analyst explains when you might choose one over the other. Continue Reading
-
Tip
12 Apr 2019
How to create an efficient container-based architecture
Containers can introduce as many problems as they solve. In case you missed it, these four articles offer practical advice for consistent and structured container implementations. Continue Reading
-
Answer
12 Apr 2019
What are TOGAF benefits for large enterprises' architectures?
Enterprise architects should value a standardized architecture framework, especially during microservices adoption. Here's how TOGAF helps control enterprise software development processes. Continue Reading
-
Answer
01 Apr 2019
When should I choose between serverless and microservices?
Serverless and microservices work well together, but they still have their unique qualities. We review their main differences and where one might accomplish goals the other can't. Continue Reading
-
Tip
22 Mar 2019
How does Ballerina stack up as a cloud-native programming language?
While WSO2 has high hopes for its microservices-centric and cloud-native programming language, what do developers think of the current version of Ballerina? Continue Reading
-
Tip
15 Mar 2019
Practical ways to automate microservices' CI/CD processes
Development teams need to make applications extensible and agile. Microservices bring those goals in sight, but an automated CI/CD pipeline is the key to success. Continue Reading
-
Tip
14 Mar 2019
Use the Ballerina language to ease into cloud microservices
With native integration features, Ballerina promises to take care of lower-level technological considerations, while developers focus on building features. Continue Reading
-
Tip
11 Mar 2019
Achieve application state management in microservices designs
Discover the how-tos for managing state in microservices applications, and then evaluate prevalent front-end and back-end state management approaches. Continue Reading
-
Feature
22 Feb 2019
Expect microservices implementation to break down IT norms
No role is safe during a transition to microservices. JP Morgenthal, distributed architecture expert, enumerates the ways in which a microservices implementation shakes up IT teams. Continue Reading
-
Tip
22 Feb 2019
How Jenkins X updates this CI/CD tool for the cloud, Kubernetes
Jenkins wasn't built for the cloud or Kubernetes, but that's not so for Jenkins X. Here's how users can keep their favorite CI/CD tool to build modern cloud apps and work with containers. Continue Reading
-
Tip
31 Jan 2019
These tools help build microservices in Java
Depending on the mission, developers need to align their tool choices with one of two paths for Java microservices. Here's what you need to know. Continue Reading
-
Tip
16 Jan 2019
The fundamentals of Micronaut and microservices development
The Micronaut framework offers developers an efficient way to build distributed applications, particularly thanks to quick startup capabilities, a multipurpose CLI and more. Continue Reading
-
Tip
15 Jan 2019
4 development tools that bridge the architect-developer gap
There can be a frustrating divide between the role of software developer and architect in any organization. There are ways to bridge that chasm, and one of these four tools just might help. Continue Reading
-
Tip
09 Jan 2019
How to prepare your own container development kit
A container development kit helps confederate containerized application development and transition developed components between clusters. Here's how to create your own. Continue Reading
-
Tip
04 Jan 2019
How to build microservices with Spring Boot and Spring Cloud
Spring Boot and Cloud can certainly help developers tackle microservices, but it's not for everybody and, unfortunately, there are a few important limitations to consider. Continue Reading
-
Tip
31 Dec 2018
3 serverless platform approaches to consider
There are several ways to approach serverless, and each has pros and cons. Learn where cloud, open source and the more traditional platforms fit into the serverless conversation. Continue Reading
-
Tip
24 Dec 2018
3 ways to minimize critical container vulnerabilities
Containers are complex, and it takes some work to keep your container components and images safe from attack. Here are three critical container development security practices. Continue Reading
-
Tip
18 Dec 2018
Practical ways to implement function as a service
Developers are ready to work with function as a service but still need some guidance. Learn about FaaS implementation models and which FaaS platform offering is for you. Continue Reading
-
Tip
13 Dec 2018
5 tips to help effectively manage container components
The layered approach is commonly used with Docker containers, but it's important to keep container components under control. Here are five crucial tips. Continue Reading
-
Feature
25 Oct 2018
In Kubernetes management, infrastructure work is tricky
While Kubernetes has a lot to offer when it comes to deployment and container management, developers still need tools that help with infrastructure management. Continue Reading
- 25 Oct 2018
-
Tip
24 Oct 2018
How to choose between serverless and containerized microservices
Explore the intricacies of serverless microservices and container microservices to discover which development requirements are crucial to your ultimate decision. Continue Reading
-
Tip
24 Oct 2018
Some tricks to help manage load balancing in microservices
Load balancing is a critical, and potentially thorny, part of cloud-native microservices management. Consider these methods and tools that can help address these challenges. Continue Reading
-
Tip
12 Oct 2018
How to approach mobile optimization with less risk
Microservices and containers can help boost mobile optimization, but it's not automatic. Development teams must think carefully about tooling choices, API creation and more. Continue Reading
-
Tip
25 Sep 2018
How Java EE development has kept up with microservices
Java EE is mature technology, but it will continue to evolve in ways that can fit nicely into a microservices architecture. Continue Reading
-
Tip
12 Sep 2018
Docker and Kubernetes monitoring tools that work on microservices
What does it take to manage your containers? Explore a wide range of monitoring tools specifically suited for Docker and Kubernetes. Continue Reading
-
Tip
05 Sep 2018
How to match microservices middleware to your mission
Microservices middleware strategies require an understanding of goals, state control and other key factors. Discover everything you should consider and how it affects your needs. Continue Reading
-
Feature
23 Aug 2018
Microservices development will fail with monolithic mindset
Enterprises that build microservices with traditional development tools and practices can run into problems in configuration and dependency management. Continue Reading
- 21 Aug 2018
-
Tip
07 Aug 2018
Achieve reactive microservices architecture with minimal effort
Reactive systems philosophy lends itself to microservices architecture because it stresses four core principles of responsivity, resilience, elasticity and message-driven communication. Continue Reading
-
Tip
24 Jul 2018
How gRPC improves microservices load balancing on Kubernetes
Kubernetes networking can be a challenge, but the gRPC protocol can help software pros focus on the application logic rather than worry about how to handle network request calls. Continue Reading
-
Tip
12 Jul 2018
How to control state for so-called stateless microservices
How do you control state in a stateless microservices environment? Front-end and back-end state control can be two viable approaches, and one requires less work than the other. Continue Reading
-
Quiz
22 Jun 2018
Test your knowledge of serverless computing
It's time to get familiar with the term serverless and everything it encompasses. Test your knowledge on serverless computing and how it will impact your software projects. Continue Reading
-
Tip
21 Jun 2018
Modern deployment models put a new spin on componentization
Developers can use containers, serverless and microservices to strengthen app composability, but there are tradeoffs to consider. Discover the brave new world of componentization. Continue Reading
-
Tip
21 Jun 2018
How to ease the pain of Kubernetes upgrades with automation
Although Kubernetes aims to automate container management, Kubernetes upgrades are still a tedious, manual process. Learn about the tooling that helps automate this task. Continue Reading
- 18 Jun 2018
-
News
14 Jun 2018
Docker Desktop templates ease container app dev
Docker targets a bigger pool of enterprise developers with enhancements to the Docker dev tool set that lets developers design apps graphically rather than through the command line. Continue Reading
-
Tip
13 Jun 2018
A comparison of microservices and functional programming concepts
While often seen together, microservices and functional programming are two different animals. Find out where these disciplines overlap and, more importantly, where they don't. Continue Reading
-
Video
05 Jun 2018
Create a Java executable JAR with the Tomcat plug-in for Maven
In this embedded Tomcat example tutorial, Cameron McKenzie uses the Tomcat plug-in for Maven to create a Java executable JAR file. Continue Reading
-
Blog Post
05 Jun 2018
Think practically about software modernization
Does your software modernization project have the wrong goals? This blog post takes a look at common drivers for modernization and how software teams should deal with legacy apps. Continue Reading
-
Tip
15 May 2018
The pros and cons of serverless architecture
The serverless trend may hold advantages for developers, but consider the trade-offs. There are many aspects of serverless computing that developers should understand. Continue Reading
-
Feature
11 May 2018
How a SaaS provider made microservices deployment safely chaotic
Remind was blindsided by performance issues with its microservices-based SaaS, until the company decided to sabotage its own product -- at scheduled times, in staging -- with a different kind of test. Continue Reading
-
Tip
01 May 2018
Front-end microservices offer flexibility for developers
Looking to create a stronger and more transparent relationship between front-end and back-end components? Learn how microservices can help make that dream a reality. Continue Reading
-
News
27 Apr 2018
Tufin Orca automates security for containers and microservices
Tufin's policy-based security automation tool fortifies DevOps environments, as it integrates with CI/CD tools, scans for threats, and secures containers and microservices. Continue Reading
-
Tip
13 Apr 2018
Moving data from a monolith to microservices architecture
Monolithic apps may contain a wealth of data within them. Moving to microservices means you need a plan for storing, accessing and backing up in a microservice database. Continue Reading
-
Tip
10 Apr 2018
Implementing microservices architecture best practices
Addressing the performance issues of microservice architectures can be quite challenging. Yet, using the right tools or practices at the right time and place will give you a boost. Continue Reading