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
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
-
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
-
Tip
08 Feb 2024
Top 9 smart contract platforms to consider in 2024
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
-
Video
08 Feb 2024
How to set a Git username and password in Git config
There's a way to stop Git from repeatedly asking you for a username and password. Just set your username and password in Git config. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
07 Feb 2024
Git vs. GitHub: What's the difference?
Git and GitHub involve similar technology but are different in several important ways. Here's what you need to understand to get the most out of these key developer tools. Continue Reading
By- Cameron McKenzie, TechTarget
-
Video
05 Feb 2024
Full Git and GitHub tutorial for beginners
Git is the most popular version control tool on the market, and GitHub is the most popular Git hosting service. This Git and GitHub course shows you how to use them together. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
05 Feb 2024
work in progress (WIP)
Work in progress (WIP) refers to the number of tasks or projects that are currently in the process of being completed. Continue Reading
-
Definition
25 Jan 2024
Java
Java is a widely used programming language expressly designed for coding applications and services used in the distributed environment of the internet. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Definition
25 Jan 2024
Chaos Monkey
Chaos Monkey is a software tool Netflix engineers developed to test the resiliency and recoverability of their Amazon Web Services (AWS) infrastructure. Continue Reading
-
Definition
22 Jan 2024
API lifecycle management
API lifecycle management is a part of application programming interface management that supports the design, development and maintenance of APIs, including their transitioning from design and testing to a production environment. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- Tom Nolle, Andover Intel
-
Definition
12 Jan 2024
polyglot programming
Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Definition
11 Jan 2024
Java compiler
A Java compiler is a program that takes the text file work of a developer and compiles it into a platform-independent Java file. Continue Reading
By -
Definition
05 Jan 2024
beta test
In software development, a beta test is the second phase of software testing in which a sampling of the intended audience tries out the product. Continue Reading
By -
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
By- Matt Heusser, Excelon Development
-
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
By- Fred Churchville, TechTarget
-
Definition
19 Dec 2023
Business Process Model Notation (BPMN)
Business Process Modeling Notation (BPMN), also called Business Process Model and Notation, is an open standard to diagram a business process. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- Gavin Wright
-
Definition
15 Dec 2023
business logic
In programming, business logic is the part of a software program responsible for implementing the business rules that define how data should be created, modified, transformed, communicated and in other ways managed and controlled. 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
By- Matt Heusser, Excelon Development
-
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
By -
Definition
08 Dec 2023
hyperconverged appliance (HCI appliance)
A hyperconverged appliance (HCI appliance) is a hardware device that provides multiple data center management technologies within a single box. Continue Reading
By- Kinza Yasar, Technical Writer
- Brien Posey
-
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By- Cameron McKenzie, TechTarget
- Bob Reselman, CogArtTech
-
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
By- Twain Taylor, Twain Taylor Consulting
-
Definition
22 Nov 2023
natural user interface (NUI)
A natural user interface -- or NUI -- is an interface that is designed to feel as natural as possible. Continue Reading
By- Ben Lutkevich, Site Editor
-
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
By- Kevin McAleer, Advice Factory Ltd
-
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By -
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By -
Definition
16 Oct 2023
decentralized application (DApp)
A decentralized application (DApp) is a type of distributed, open source software application that runs on a peer-to-peer (P2P) blockchain network rather than on a single computer. Continue Reading
By- Nick Barney, Technology Writer
- Alexander S. Gillis, Technical Writer and Editor
- Corinne Bernstein
-
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
By -
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
By- Matt Heusser, Excelon Development
-
Definition
27 Sep 2023
Business Process Modeling Language (BPML)
Business Process Modeling Language (BPML) is an XML standard metalanguage used to outline business processes in an easy-to-understand way. Continue Reading
By -
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By- Darcy DeClute, Scrumtuous Inc.
-
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
By- Cameron McKenzie, TechTarget
-
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
By -
Definition
30 Aug 2023
skeuomorphism
Skeuomorphism is when something is designed with extra ornamentation to make it resemble another object so it is more familiar. Continue Reading
By -
Definition
30 Aug 2023
thread
A thread is, fundamentally, a clear, well-defined theme, subject, topic or focus. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
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
By -
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
By- Tom Nolle, Andover Intel
-
Definition
22 Aug 2023
Unified Modeling Language (UML)
Unified Modeling Language (UML) is a standard notation for modeling real-world objects as a first step in designing an object-oriented system. Continue Reading
-
Definition
15 Aug 2023
C++
C++ is an object-oriented programming (OOP) language that is viewed by many as the best language for creating large-scale applications. C++ is a superset of the C language. Continue Reading
By- Nick Barney, Technology Writer
-
Definition
15 Aug 2023
assembler
An assembler is a computer program that takes in basic instructions and converts them into a pattern of bits that the computer's processor can use to perform basic operations. Continue Reading
By -
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
By- Matt Heusser, Excelon Development
-
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
By- Paul Nashawaty
-
Enterprise Strategy Group
We provide market insights, research and advisory, and technical validations for tech buyers.
-
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
By -
Definition
13 Jul 2023
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) is an application programming interface (API) in the Java programming language and development environment. Continue Reading
By -
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
By- Ashik Patel, Xennial Innovations Inc.
-
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
By- Matt Heusser, Excelon Development
-
Definition
28 Jun 2023
loose coupling
Loose coupling is an approach to interconnecting the components in a system, network or software application so that those components, also called elements, depend on each other to the least extent practicable. Continue Reading
By -
Definition
27 Jun 2023
pseudocode
Pseudocode is a detailed yet readable description of what a computer program or algorithm should do. Continue Reading
-
Definition
26 Jun 2023
git stash
Git stash is a built-in command that stores, or stashes, changes in the software development tool Git that aren't yet ready to be committed. Continue Reading
By- Nick Barney, Technology Writer
-
Definition
26 Jun 2023
WebAssembly
WebAssembly (Wasm) is a binary instruction format for compiling and executing code in a client-side web browser. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
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
By -
Definition
21 Jun 2023
wall time
Wall time, also called real-world time, clock time, wall-clock time or -- more accurately -- elapsed real time, is the amount of time that a program or process takes to run from start to finish as measured by a person. Continue Reading
By -
Definition
19 Jun 2023
polymorphism
Polymorphism is a popular concept in object-oriented programming (OOP), referring to the idea that an entity in code such as a variable, function or object can have more than one form. Continue Reading
By -
Definition
19 Jun 2023
requirements analysis (requirements engineering)
Requirements analysis (requirements engineering) is the process of determining user expectations for a new or modified product. Continue Reading
By -
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
By -
Definition
14 Jun 2023
Microsoft Power Apps
Power Apps is a suite of Microsoft products that enable both developers and nontechnical users to build custom applications to fulfill various business needs. Continue Reading
By -
Definition
14 Jun 2023
joint application development (JAD)
Joint application development, frequently shortened to JAD, is a methodology that involves the client or end user in the design and development of a software application through a succession of collaborative workshops called JAD sessions. Continue Reading
By -
Definition
12 Jun 2023
lambda
Lambda, the 11th letter of the Greek alphabet, is used as both a symbol and a concept in various fields of science, mathematics and computing. Continue Reading
By- Nick Barney, Technology Writer
- TechTarget Contributor
-
Definition
09 Jun 2023
Korn shell (ksh)
The Korn shell (ksh) is an operating system (OS) command shell that was developed for Unix by David Korn at Bell Labs. 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
By- Bob Reselman, CogArtTech
-
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
-
Definition
06 Jun 2023
internationalization (I18N)
Internationalization is the process of designing and building a product so that it can be easily adapted to specific languages and cultures. Continue Reading
-
Definition
02 Jun 2023
continuous deployment
Continuous deployment is a strategy for software development and releases in which every code change is automatically run through a pipeline of tests and inspections before being pushed into production. Continue Reading
By- Kinza Yasar, Technical Writer
-
Definition
01 Jun 2023
super app
A super app is a mobile or web application that combines multiple services into one platform. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
19 May 2023
Google Firebase
Google Firebase is a set of cloud-based development tools that helps mobile app developers build, deploy and scale their apps. Continue Reading
-
Definition
16 May 2023
Unicode
Unicode is a universal character encoding standard that is maintained by the Unicode Consortium, a standards organization founded in 1991 for the internationalization of software and services. 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
-
Definition
09 May 2023
data type
In software programming, data type refers to the type of value a variable has and what type of mathematical, relational or logical operations can be applied without causing an error. Continue Reading
-
Definition
09 May 2023
state diagram (state machine diagram or statechart diagram)
A state diagram (also known as a state machine or statechart diagram) is an illustration of all the possible behavioral states a software system component may exhibit and the various state changes it's predicted to undergo over the course of its operations. Continue Reading
By -
Definition
09 May 2023
mutual exclusion (mutex)
In computer programming, a mutual exclusion (mutex) is a program object that prevents multiple threads from accessing the same shared resource simultaneously. Continue Reading
-
Definition
05 May 2023
hamburger icon (slide drawer navigation)
A hamburger icon is a navigational symbol in user interface (UI) design. Continue Reading
By -
Definition
04 May 2023
APK file (Android Package Kit file format)
An APK file (Android Package Kit file format) is the file format for applications used on the Android operating system (OS). Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
04 May 2023
cross-platform mobile development
Cross-platform mobile development is an approach to developing software applications that are compatible with multiple mobile operating systems (OSes) or platforms. Continue Reading
By -
Definition
02 May 2023
service-oriented architecture (SOA)
Service-oriented architecture (SOA) is a software development model that makes services reusable and lets them communicate across different platforms and languages to form new applications. Continue Reading
By- Nick Barney, Technology Writer
- Tom Nolle, Andover Intel
-
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
By- Paul Nashawaty
-
Enterprise Strategy Group
We provide market insights, research and advisory, and technical validations for tech buyers.
-
Definition
25 Apr 2023
glyph
In information technology, a glyph -- from a Greek word meaning carving -- is a graphic symbol that provides the appearance or form for a character. 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
By- Priyank Gupta, Sahaj Software
-
Definition
17 Apr 2023
TOSCA (Topology and Orchestration Specification for Cloud Applications)
The Topology and Orchestration Specification for Cloud Applications (TOSCA) is an open source language used to describe the relationships and dependencies between services and applications that reside on a cloud computing platform. Continue Reading
By- Paul Kirvan
- Stephen J. Bigelow, Senior Technology Editor
-
Definition
14 Apr 2023
primitive (programming)
In computer programming, a primitive is one of a set of fundamental language elements that serve as the foundation for a programming language. 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
By- Twain Taylor, Twain Taylor Consulting
-
Definition
05 Apr 2023
object code
Source code and object code refer to the "before" and "after" versions of a computer program that is compiled (see compiler) before it is ready to run in a computer. 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
By- Ashik Patel, Xennial Innovations Inc.
-
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
By- Matt Heusser, Excelon Development
-
Definition
28 Mar 2023
object-relational mapping (ORM)
Object-relational mapping (ORM) is a way to align programming code with database structures. Continue Reading
By -
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
By- Matt Heusser, Excelon Development
-
Definition
16 Mar 2023
client-side framework
A client-side framework is a software development framework that focuses on executing application processes on end user devices rather than the application's own server. Continue Reading
-
Definition
14 Mar 2023
system testing
System testing, also referred to as system-level testing or system integration testing, is the process in which a quality assurance (QA) team evaluates how the various components of an application interact together in the full, integrated system or application. Continue Reading
By- Kinza Yasar, Technical Writer
- Ryan Black, Assistant Site Editor
-
Definition
09 Mar 2023
performance testing
Performance testing is a testing measure that evaluates the speed, responsiveness and stability of a computer, network, software program or device under a workload. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
28 Feb 2023
native code
Native code is binary data compiled to run on a processor, such as an Intel x86-class processor. Continue Reading
-
Definition
16 Feb 2023
GraphQL
GraphQL is an open source query language that describes how a client should request information through an API. Continue Reading
By -
Definition
13 Feb 2023
enterprise architecture framework
An enterprise architecture framework (or simply EA framework) is the collection of processes, templates and tools that software teams use to plan and build large, enterprise-grade application architecture systems. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
09 Feb 2023
KLOC (thousands of lines of code)
KLOC (thousands of lines of code) is a traditional measure of how large a computer program is or how long or how many people it will take to write it. Continue Reading
-
Definition
06 Feb 2023
codebase (code base)
A codebase, or code base, is the complete body of source code for a software program, component or system. It includes all the source files needed to compile the software into machine code, including configuration files. 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