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
26 Nov 2024
Agile estimation: Predicting the unpredictable
Agile teams' overreliance on estimates detracts from the overall goal to deliver value to the customer. Avoid these agile estimation pitfalls in your software development efforts. Continue Reading
By- Ashok P. Singh, Wells Fargo
-
Tip
25 Nov 2024
13 application performance metrics and how to measure them
You've deployed your application, now what? Keep your application performing well by tracking metrics. Take a look at these 13 critical KPIs. Continue Reading
-
Tip
21 Nov 2024
Know these top 5 Scrum antipatterns
Embrace sprints, set clear goals, engage with customers -- these behaviors and others will help your teams avoid common Scrum antipatterns. Continue Reading
By- Michael Lloyd, Honest Agile
-
Video
19 Nov 2024
Java, JDBC and SQL Server tutorial
This tutorial shows how to create a JDBC connection to Microsoft's SQL Server, and get started creating Java-based applications that are scalable and secure. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
15 Nov 2024
Spring Initializr for Spring Boot
The Spring Initializr is the easiest way to get started with a new Spring Boot project. Here's a tutorial on how to use it. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
14 Nov 2024
MySQL vs. PostgreSQL: Compare popular open source databases
This deep dive compares two popular open source database options, MySQL vs. PostgreSQL, across key categories including performance, compliance, security, scalability and more. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
08 Nov 2024
Webhooks explained simply, with examples
Webhooks make significant use of basic API call mechanisms and set event triggers in a few clicks of a button -- all without the overhead of heavy request-response structures. Continue Reading
By- Matt Heusser, Excelon Development
-
Tip
08 Nov 2024
Application refactoring: Best practices for cloud migrations
Learn what application refactoring is, its role in cloud migration, typical challenges, the best ways to ensure success -- and when to not do it at all. Continue Reading
By -
Video
08 Nov 2024
Spring Batch tutorial
There are two common approaches to batch processing in Spring Boot: the Tasklet and the ItemProcessor. This tutorial explains why the ItemProcessor is best for large data sets. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
06 Nov 2024
Spring vs. Spring Boot vs. the Spring Framework
Ever wonder what the distinction is between Spring Boot and the Spring Framework? Or exactly what the term 'Spring' refers to? Here's your answer. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
06 Nov 2024
What is Mojo programming language and what is it used for?
Mojo is a high-performance programming language initially designed to unify and simplify the development of applications across all layers of the AI stack. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
05 Nov 2024
Create a React Hello World program
Discover a new take on the classic React Hello World program. Go beyond the basics and explore state management, event handling and best practices to build progressive web apps. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
04 Nov 2024
Managing complexity: Event-driven architecture explained
Event-driven architecture is complex, but so are today's data challenges. Discover ways to manage dynamic and distributed interactions in this EDA explainer. Continue Reading
By -
Video
01 Nov 2024
Spring Boot CRUD operations
What's your preferred approach to perform Spring CRUD operations? I always choose Spring Data's CrudRepository. Anything else is too much work. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
01 Nov 2024
SQLite tutorial for beginners
SQLite has an incredibly small footprint. That's one of the reasons why it's the most used database engine in the world. If you've never used it before, here's your chance. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
01 Nov 2024
Java, JDBC and Postgres
Postgres has become popular in the Java community for many reasons. The ease of integration with Java apps through JDBC is one of the biggest. Here's how it works. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
31 Oct 2024
Spring Boot ConfigurationProperties tutorial
Need to convert structured data in a Spring YAML or properties file into lists, maps and inner classes? Just use the @ConfigurationProperties decoration in Spring Boot. Continue Reading
By- Nikolay Stanev, Dreamix
-
Tip
25 Oct 2024
8 microservices best practices to remember
From integrating domain-driven design to securing APIs, explore a range of microservices best practices for building a resilient and scalable application. Continue Reading
By- Tom Nolle, Andover Intel
-
Definition
22 Oct 2024
What is an application?
An application, also referred to as an application program or application software, is a computer software package that performs a specific function directly for an end user or, in some cases, for another application. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
What is acceptance testing?
Acceptance testing is a quality assurance (QA) process that determines to what degree an application meets end users' approval. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
22 Oct 2024
What is a 3-tier application architecture?
A three-tier application architecture is a modular client-server architecture that consists of a presentation tier, an application tier and a data tier. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
21 Oct 2024
When to use Rust vs. Python
This Rust vs. Python faceoff breaks down how the two programming languages stack up against each other in terms of performance, speed, memory management and more. Continue Reading
By- Twain Taylor, Twain Taylor Consulting
-
Definition
17 Oct 2024
What is a functional specification document?
A functional specification is a formal document used to describe a product's intended capabilities, appearance and interactions with users in detail for software developers. Continue Reading
-
Definition
16 Oct 2024
What is monolithic architecture in software?
Monolithic architecture is the traditional unified model for the design of a software program. Continue Reading
-
Video
15 Oct 2024
How Spring Boot @Component and @ComponentScan annotations work
There are many ways to configure Spring's ApplicationContext. The easiest way? That's through Spring's Component and ComponentScan annotations. Here's how to use them. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
11 Oct 2024
Git commit message conventions and best practices
Never underestimate the power of a good git commit message. Need help writing one? Here are the commonly accepted git commit message guidelines and best practices. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
10 Oct 2024
Spring profiles in Spring Boot tutorial
Ever struggle with the constant discrepancies between dev, UAT and production? Spring profiles make such configuration issues a thing of the past. Here's how they work. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
08 Oct 2024
Rust vs. C++: Differences and use cases explained
C++ was mature before Rust even existed. Does that mean developers should switch from C++ to Rust? Not always. Continue Reading
By- Kerry Doyle
- Twain Taylor, Twain Taylor Consulting
-
Tip
04 Oct 2024
How to solve the pinning problem in Java virtual threads
Virtual threads in Java offer many benefits, but they're not a drop-in replacement for traditional threads. Understand and plan around their limitations, most notably pinning. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
04 Oct 2024
The interface segregation principle: A fun and simple guide
Want a fun way to learn the interface segregation principle of SOLID object-oriented design? Imagine a remote control that tries to do everything but just mucks it all up. Continue Reading
-
Tip
03 Oct 2024
Simplifying native interoperability in Java with JEP 454
Finalized in Java 22, JEP 454 helps developers safely and efficiently call native functions and manage memory outside of Java. Here's a rundown of how it works. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
03 Oct 2024
What's wrong with Java? Nothing, but evaluate alternatives
Java's benefits don't always fit a given task, and a different language might be a better choice. Use these comparisons to choose the best code for your needs. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
02 Oct 2024
An introduction to TypeSpec, a new API definition language
Standardizing API descriptions and converting API definitions into different formats can be challenging. TypeSpec, a new API definition language, aims to solve that. Continue Reading
By -
Video
01 Oct 2024
Dependency injection in Spring
There's more to dependency injection than calling parameterized constructors and passing components to methods. This tutorial examines what it means to support DI and IoC. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
23 Sep 2024
Get started with Spring Tools Suite 4
Getting started with Spring Boot has never been easier. The Spring Tools Suite for Eclipse comes with everything you need to write, compile and test your Spring-based apps. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
23 Sep 2024
Is cloud repatriation the only answer?
Cloud repatriation should be a last resort, not a repudiation of the cloud. Do you know how to fully optimize cloud workloads to avoid costly in-house investment? Continue Reading
By- Tom Nolle, Andover Intel
-
Definition
20 Sep 2024
What is dependency injection in object-oriented programming (OOP)?
Dependency injection is a technique used in object-oriented programming (OOP) to reduce the hardcoded dependencies between objects. Continue Reading
By- Robert Sheldon
- Alexander S. Gillis, Technical Writer and Editor
- Kevin Ferguson
-
Video
19 Sep 2024
Inversion of control in Spring
All enterprise development frameworks are built around inversion of control. This IoC example demonstrates how it manifests itself in frameworks like Spring and Jakarta EE. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
16 Sep 2024
Dependency injection and inversion of control in Spring
At the heart of every Spring project, be it Spring AI, Spring MVC or Spring Data, lies a powerful dependency injection and inversion of control container. Here's how it works. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
12 Sep 2024
What is BASIC (Beginner's All-purpose Symbolic Instruction Code)?
BASIC, short for Beginner's All-purpose Symbolic Instruction Code", is an early programming language that was designed to help non-technical users and students solve easy problems with a computer. Continue Reading
By -
Definition
11 Sep 2024
What is a software stack?
A software stack is a collection of independent components that work together to support the execution of an application. Continue Reading
By- Paul Kirvan
- Margie Semilof, TechTarget
- James Montgomery, Senior Features Editor
-
Definition
10 Sep 2024
What is a sprint (software development)?
In Agile product development and software project management, a sprint is a set period of time during which specific work has to be completed and made ready for review. Continue Reading
-
Video
06 Sep 2024
Simple Spring Hello World program
Many developers work with Spring Boot every day but don't really understand how dependency injection works. Build your foundation in Spring with this simple Hello World program. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
05 Sep 2024
What is machine code (machine language)?
Machine code, also known as ‘machine language’ or ‘native code,’ is the elemental language of computers. It is read by the computer’s central processing unit (CPU), is composed of digital binary numbers and looks like a very long sequence of zeros and ones. Continue Reading
-
Tip
04 Sep 2024
10 dying or 'dead' programming languages
In a rapidly evolving landscape, these 10 programming languages are becoming increasingly obscure. Learn how programming languages die despite their former prominence. Continue Reading
By -
Video
04 Sep 2024
Model-view-controller design pattern tutorial
How well do you know the MVC design pattern? The basic concept is simple, but the details trip up many developers. This deep dive explores what MVC is and how to best implement it. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
26 Aug 2024
Difference between the Spring Framework and Spring Boot
You can use the Spring Framework to build microservices without using Spring Boot, but should you? To answer that, you must know the difference between Spring and Spring Boot. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
26 Aug 2024
Spring Boot vs. Spring MVC: What's the difference?
You've used Spring Boot to build microservices. You've also used Spring MVC. But what's the difference? Here we look at the differences between Spring Boot and Spring MVC. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
26 Aug 2024
UX design principles: Why should testers know them?
Usability is key to the success of an application. Learn what developers and testers should look for to optimize usability and maximize the business value of an application. Continue Reading
By -
Definition
22 Aug 2024
What is a proxy server?
A proxy server is an intermediary between a user and the internet. Continue Reading
By- Kinza Yasar, Technical Writer
-
Video
22 Aug 2024
How to dockerize Spring Boot apps
Spring Boot and Docker naturally fit together. Here's how to dockerize your Spring Boot application in just a few easy steps. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
20 Aug 2024
Speed vs. quality in software testing: Can you have both?
Testing can slow development and quick releases can come at the price of quality. Teams should not have to choose. Learn to efficiently pursue quality in development and testing. Continue Reading
By -
Video
19 Aug 2024
Spring Web MVC crash course
There's still a place in the world for server-side rendering. Learn the Java way to build HTTP responses on the server with this Spring MVC crash course for beginners. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
16 Aug 2024
How to deploy Spring Boot apps in AWS
You don't need a Kubernetes cluster to host your cloud-native Spring Boot microservices. Learn how to quickly deploy your Spring Boot applications in AWS using ECS and Fargate. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
16 Aug 2024
User mode vs. kernel mode: OSes explained
Kernel mode exists to keep user applications from disrupting critical system functions. Learn how each state works and what can happen when an error occurs in kernel mode. Continue Reading
By- Ben Lutkevich, Site Editor
-
Feature
14 Aug 2024
Learn about the negative impacts of technical debt
Key leadership decisions like poor architecture to rushed processes can lead to technical debt that will affect a company long-term. Learn more about these effects. Continue Reading
By -
Tip
14 Aug 2024
Follow these 8 best practices for cloud-native app development
The better your cloud-native development process is, the more efficient and reliable your application is likely to be. Follow these tips to bring your development practices to the next level. Continue Reading
By -
Definition
14 Aug 2024
What is an API (application programming interface)?
An application programming interface (API) is code that enables two software programs to communicate. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Ben Lutkevich, Site Editor
- Tom Nolle, Andover Intel
-
Video
13 Aug 2024
Standalone Spring Boot console apps with CommandLineRunner
Want to create a Spring Boot application that runs at the command line? It's easy. Simply implement the CommandLineRunner interface, and override the required run method. Here's how. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
09 Aug 2024
What is the software development lifecycle (SDLC)?
The software development lifecycle (SDLC) is a project management framework that describes the stages and tasks involved in each step of software development. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
09 Aug 2024
What is software resilience testing?
Software resilience testing is a method of software testing that focuses on ensuring that applications perform well in real-life or chaotic conditions. Continue Reading
By -
Definition
09 Aug 2024
What is static application security testing (SAST)?
Static application security testing (SAST) is the process of analyzing and testing application source code for security vulnerabilities. Continue Reading
By -
Tip
06 Aug 2024
Epics, features and user stories explained
Epics, features and user stories are all uniquely important work products in Agile product management. Learn the difference between them and how they work together to create value. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Video
02 Aug 2024
Agile vs. Scrum: How to choose between them
Scrum and Agile both emphasize collaboration and efficiency for DevOps teams in different ways. Learn when to use each approach and when to use them in tandem. Continue Reading
By- Ben Lutkevich, Site Editor
-
Video
02 Aug 2024
RestController vs. Controller: What's the difference?
Spring 4 introduced the RestController to simplify RESTful API development, but most Spring Boot developers still don't know how it differs from the Spring MVC Controller. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tip
31 Jul 2024
A beginner's guide to learning new programming languages
Rust or Ruby? Go or Groovy? As the competitive IT landscape evolves, developers can enhance their skills and career potential by learning new programming languages. Continue Reading
By -
Video
29 Jul 2024
Java tic-tac-toe game coding tutorial
What's the best way to learn how to program? Code up some of your favorite childhood games. Here, we'll show you how to code a tic-tac-toe game in Java. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
29 Jul 2024
What is no-code? Everything you need to know
No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system. Continue Reading
-
Definition
26 Jul 2024
What is a bitwise operator?
A bitwise operator is a character that represents an action taken on data at the bit level, as opposed to bytes or larger units of data. Continue Reading
By -
Definition
26 Jul 2024
What is an API endpoint?
An API endpoint is a point at which an application programming interface -- the code that enables two software programs to communicate with each other -- connects with the software program. Continue Reading
By- Kinza Yasar, Technical Writer
-
Video
19 Jul 2024
GET vs. POST: What's the difference?
POST and GET are the two most-used RESTful HTTP methods. But how well versed are you on the differences between them? Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
18 Jul 2024
How to apply the Liskov substitution principle in Java
The Liskov substitution principle is often mistaken for polymorphism and inheritance. To really understand the SOLID LSP, you must understand the nuance and distinction. Continue Reading
By- Ashik Patel, Xennial Innovations Inc.
-
Definition
16 Jul 2024
exception handler
An exception handler is code that stipulates what a program will do when an anomalous or exceptional event occurs and disrupts the normal flow of that program's instructions. Continue Reading
By -
Tip
03 Jul 2024
Top benefits of the Zig programming language
Does the world really need another programming language? Yes, say developers behind Zig. Here are five of the top features Zig brings to the programming world. Continue Reading
By -
Tip
03 Jul 2024
How to use parallel streams in Java with virtual threads
Virtual threads in Java currently lack integration with the stream API, particularly for parallel streams. Here's how a JDK 22 preview feature addresses the problem. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
02 Jul 2024
A guide to software design documentation and specifications
Software design documents still rank as important SDLC components -- even in the age of DevOps. Learn why they are important, how to write one and who should contribute. Continue Reading
By -
Tip
02 Jul 2024
Requirements vs. user stories in software development
User stories fulfill the same purpose as software requirements but through different means. Learn how to write user stories and how they relate to software requirements. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
27 Jun 2024
Cypress vs. Playwright: When to use each
Cypress and Playwright stand out as notable options among the many automated testing tools available. Learn how to make an informed choice between them. Continue Reading
By -
Definition
21 Jun 2024
OpenID (OpenID Connect)
OpenID Connect is an open specification for authentication and single sign-on (SSO). Continue Reading
By -
Tip
17 Jun 2024
Why and how to manage microservices without API gateways
Managing microservices without API gateways might be uncommon, but not unheard of. Consider the benefits, downsides and available auxiliary tools before taking an alternate approach. Continue Reading
By -
Definition
14 Jun 2024
reactive programming
Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Tom Nolle, Andover Intel
-
Tip
14 Jun 2024
ORM vs. SQL: When to use each
Object relational mapping and raw SQL are two different ways to interact with relational databases. Learn when to use each of the two methods and when using both is appropriate. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
14 Jun 2024
object-oriented programming (OOP)
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Sarah Lewis
-
Tip
10 Jun 2024
5 Java ORM tools to know
ORMs are a popular method for connecting to databases from Java. Consider the tradeoffs of these ORM tools to decide which tool to run with. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
06 Jun 2024
haptics
Haptics is the science of applying a sense of touch and control to interaction with computer applications. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
-
Definition
06 Jun 2024
software
Software is a set of instructions, data or programs used to operate computers and execute specific tasks. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- TechTarget Contributor
-
Definition
06 Jun 2024
domain-driven design (DDD)
Domain-driven design (DDD) is a software development philosophy centered around the business domain, or sphere of knowledge, of that software's users. Continue Reading
By -
Tip
05 Jun 2024
Advanced Java pattern matching techniques, with examples
Dive deeper into Java pattern matching techniques with these examples that range from nested records to type inference, variables and generics. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Definition
31 May 2024
CQRS (command query responsibility segregation)
CQRS (command query responsibility segregation) is a programming design and architectural pattern that treats retrieving data and changing data differently. Continue Reading
By- Rahul Awati
- Kinza Yasar, Technical Writer
- Matt Heusser, Excelon Development
-
Feature
30 May 2024
Understanding and implementing the software testing pyramid
Frameworks such as the software testing pyramid help developers implement Agile core values. Learn how the testing pyramid helps teams prioritize test type frequency. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Definition
30 May 2024
clipboard
A clipboard is a feature in an operating system or application that temporarily stores data copied or cut from a document or other location, allowing the user to transfer or duplicate it elsewhere. Continue Reading
-
Tip
23 May 2024
Introduction to pattern matching in Java
Pattern matching in Java helps developers better describe data structures and avoid runtime errors, while making code more readable and easier to maintain. Here's how it works. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Definition
23 May 2024
impact mapping
Impact mapping is a visual planning technique that aligns project processes with business objectives. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
23 May 2024
CALMS
CALMS is a conceptual framework for the integration of development and operations (DevOps) teams, functions and systems within an organization. Continue Reading
By -
Tip
21 May 2024
10 best practices for managing data in microservices
Data architects managing loosely coupled microservices applications need to make the right decisions about databases, data ownership, sharing, consistency and failure recovery. Continue Reading
-
Definition
13 May 2024
Remote Procedure Call (RPC)
A Remote Procedure Call (RPC) is a software communication protocol that one program uses to request a service from another program located on a different computer and network, without having to understand the network's details. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Linda Rosencrance
- Brein Matturro
-
Tip
13 May 2024
How the back-ends-for-front-ends pattern works
A back-ends-for-front-ends microservices pattern uses an API layer to preprocess data, handle calls and responses, and simplify development efforts. Here's how it all works. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
Definition
10 May 2024
RESTful API
A RESTful API is an architectural style for an application programming interface that uses HTTP requests to access and use data. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
Definition
30 Apr 2024
user interface (UI)
The user interface (UI) is the point of human-computer interaction and communication in a device. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- Fred Churchville, TechTarget
-
Definition
29 Apr 2024
integrated development environment (IDE)
An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Valerie Silverthorne
-
Definition
29 Apr 2024
fault injection testing
Fault injection testing is a software testing method that deliberately introduces errors to a system to ensure it can withstand and recover from error conditions. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
29 Apr 2024
web application development
Web application development is the creation of application programs that reside on remote servers and are delivered to the user's device over the internet. Continue Reading
By- Cameron Hashemi-Pour, Site Editor