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
20 Dec 2024
Exploring cell-based architecture vs. microservices
Cell-based architecture takes fundamental concepts related to microservices and applies them across the entire software environment to make more fault-tolerant, scalable systems. Continue Reading
By- Matt Heusser, Excelon Development
-
Tip
19 Dec 2024
A JavaScript functional programming basic tutorial
JavaScript's versatility makes it useful for webpages and web servers, but also functional programming. This tutorial shows how to implement JavaScript functional programming. Continue Reading
By- Bob Reselman, CogArtTech
-
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
-
Definition
30 Jan 2023
componentization (component-based development)
Componentization is an approach to software development that involves breaking software down into identifiable and reusable pieces that application developers can independently build and deploy. Continue Reading
-
Tip
17 Jan 2023
Rust vs. Go: A microservices-based language faceoff
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
By -
Definition
03 Jan 2023
source code
Source code is the fundamental component of a computer program that is created by a programmer, often written in the form of functions, descriptions, definitions, calls, methods and other operational statements. Continue Reading
-
Definition
28 Dec 2022
gRPC
GRPC is a high-performance remote procedure call framework released by Google in August 2016. Continue Reading
-
Definition
16 Dec 2022
stateless app
A stateless app is an application program that does not save client data generated in one session for use in the next session with that client. Continue Reading
- Definition 13 Dec 2022
-
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
By- Matt Heusser, Excelon Development
-
Definition
06 Dec 2022
event-driven application
An event-driven application is a computer program written to respond to actions generated by a user or system. Continue Reading
-
Definition
02 Dec 2022
logical OR symbol
In mathematics, the logical OR symbol is a Boolean function that is positioned between two statements to indicate an inclusive disjunction between them. Continue Reading
-
Definition
01 Dec 2022
C# (C-Sharp)
C#, pronounced "C-sharp," is an object-oriented programming language from Microsoft that enables developers to build applications that run on the .NET platform. Continue Reading
-
Definition
30 Nov 2022
Node.js (Node)
Node.js (Node) is an open source, cross-platform runtime environment for executing JavaScript code. Continue Reading
-
Definition
18 Nov 2022
XSL (Extensible Stylesheet Language)
XSL (Extensible Stylesheet Language) is a family of standards that specifies how to define Extensible Markup Language (XML) document transformation and presentation. Continue Reading
-
Definition
16 Nov 2022
widget
In computing, a widget is an element of a graphical user interface that displays information or provides a specific way for a user to interact with the operating system (OS) or an application. Continue Reading
By -
Definition
15 Nov 2022
feature flagging
Feature flagging is a simple programming design pattern that allows developers to turn application features on or off without having to redeploy or change code already in production. Continue Reading
-
Definition
03 Nov 2022
operand
In computing and mathematics, an operand is an object that is operated on by some type of operator. Continue Reading
-
Definition
26 Oct 2022
user experience
User experience (UX) design is the process and practice used to design and implement a product that will provide positive and relevant interactions with users. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Emily McLaughlin, Coravin
-
Definition
19 Oct 2022
freeware
Freeware (not to be confused with free software) is a type of proprietary software that is released without charge to the public. Continue Reading
-
Definition
17 Oct 2022
pipe
In computer programming, especially in Unix operating systems (OSes), a pipe is a technique for passing information from one program process or command to another. Continue Reading
By -
Definition
14 Oct 2022
lowerCamelCase
A part of CamelCase, lowerCamelCase is a naming convention in which a name contains multiple words that are joined together as a single word. Continue Reading
-
Definition
30 Sep 2022
logical implication
Logical implication is a type of relationship between two statements or sentences. The relation translates verbally into 'logically implies' or the logical connective 'if/then' and is symbolized by a double-lined arrow pointing toward the right (=>). Continue Reading
By -
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
By- Kelly Richardson, Associate Site Editor
-
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
By- Eric Avidon, Senior News Writer
-
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
By- Bob Reselman, CogArtTech
-
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
By- Stephanie Glen, News Writer
-
Definition
31 Aug 2022
canary testing
In software testing, canary testing refers to testing a new software version or a new feature with real users in a live (production) environment. Continue Reading
By- Rahul Awati
- Peter Loshin, Former Senior Technology Editor
-
Definition
16 Aug 2022
operator
In mathematics and computer programming, an operator is a character that represents a specific mathematical or logical action or process. Continue Reading
By -
Definition
16 Aug 2022
daemon
In computing, a daemon (pronounced DEE-muhn) is a program that runs continuously as a background process and wakes up to handle periodic service requests, which often come from remote processes. Continue Reading
By- Pat Brans, Pat Brans Associates/Grenoble Ecole de Management
-
Definition
12 Aug 2022
software testing
Software testing is the process of assessing the functionality of a software program. Continue Reading
By- Kinza Yasar, Technical Writer
-
Definition
08 Aug 2022
menu
A menu is a set of options presented to the user of a computer application to help them find information or execute a function. Continue Reading
By -
Definition
03 Aug 2022
Bootstrap
Bootstrap is a free, open source front-end development framework for the creation of websites and web apps. Continue Reading
By -
Definition
02 Aug 2022
W3C (World Wide Web Consortium)
The W3C (World Wide Web Consortium) is an international organization that creates standards for the World Wide Web. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
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
By- Stephanie Glen, News Writer
-
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
By- Twain Taylor, Twain Taylor Consulting
-
Definition
18 Jul 2022
CamelCase
CamelCase is a way to separate the words in a phrase by making the first letter of each word capitalized and not using spaces. Continue Reading
By -
Definition
07 Jul 2022
parser
In computer technology, a parser is a program that's usually part of a compiler. It receives input in the form of sequential source program instructions, interactive online commands, markup tags or some other defined interface. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
06 Jul 2022
bitwise
Bitwise operations manipulate data at the bit level rather than with bytes or larger units of data, as is more common. Most operators work with either single or multiple bytes, which in most systems contain eight bits Continue Reading
By -
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
By -
Definition
28 Jun 2022
synthetic monitoring
Synthetic monitoring is the use of software to simulate user interactions with a system. Continue Reading
By -
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
By -
Definition
23 Jun 2022
binary file
A binary file is a file whose content is in a binary format that consists of a series of sequential bytes, each of which is eight bits in length. Continue Reading
-
Definition
17 Jun 2022
strongly typed programming language
A strongly typed programming language is one in which each type of data, such as integers, characters, hexadecimals and packed decimals, is predefined as part of the programming language, and all constants or variables defined for a given program must be described with one of the data types. Continue Reading
By -
Definition
16 Jun 2022
instantiation
In programming, instantiation is the creation of a real instance or particular realization of an abstraction or template, such as a class of objects or a computer process. Continue Reading
By -
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
By- Darcy DeClute, Scrumtuous Inc.
-
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
By- Stephanie Glen, News Writer
-
Definition
07 Jun 2022
system of systems (SoS)
A system of systems (SoS) is the collection of multiple, independent systems in context as part of a larger, more complex system. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
02 Jun 2022
SOAP (Simple Object Access Protocol)
SOAP (Simple Object Access Protocol) is a message protocol that enables the distributed elements of an application to communicate. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
26 May 2022
data binding
Data binding is the process that couples two data sources together and synchronizes them. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
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
By- Stephanie Glen, News Writer
-
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
By- Gerie Owen, Cubic Transportation Systems
-
Definition
09 May 2022
XML Schema Definition (XSD)
XML Schema Definition or XSD is a recommendation by the World Wide Web Consortium (W3C) to describe and validate the structure and content of an XML document. Continue Reading
-
Definition
06 May 2022
garbage collection (GC)
Garbage collection (GC) is a memory recovery feature built into programming languages such as C# and Java. Continue Reading
-
Definition
03 May 2022
LDAP injection
LDAP (Lightweight Directory Access Protocol) injection is a type of security exploit that is used to compromise the authentication process used by some websites. Continue Reading
By- Ben Lutkevich, Site Editor
-
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
By -
Definition
18 Apr 2022
development environment
In software, web and mobile application development, the development environment is a workspace with a set of processes and programming tools used to develop the source code for an application or software product. Continue Reading
By -
Definition
12 Apr 2022
object
In object-oriented programming (OOP), objects are the things you think about first in designing a program and they are also the units of code that are eventually derived from the process. Continue Reading
By- Peter Loshin, Former Senior Technology Editor
-
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
By- Beth Pariseau, Senior News Writer
-
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
By- Antone Gonsalves, News Director
-
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By- Beth Pariseau, Senior News Writer
-
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
25 Feb 2022
Where requirements-based tests fit in software testing
Requirements-based testing has its upsides and downsides, and it's not right for every software project. But certain dev teams should still adopt the method. Learn which ones. Continue Reading
By- Matt Grasberger, Red Guava
-
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
By -
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
By- Twain Taylor, Twain Taylor Consulting
-
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
By -
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
-
Definition
23 Dec 2021
WebLogic
Oracle WebLogic Server is a leading e-commerce online transaction processing (OLTP) platform, developed to connect users in distributed computing production environments and to facilitate the integration of mainframe applications with distributed corporate data and applications. Continue Reading
By- Peter Loshin, Former Senior Technology Editor
-
Definition
15 Nov 2021
BSA | The Software Alliance
BSA | The Software Alliance is an advocate for public policies that foster technology innovation and drive economic growth. 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
By -
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
By -
Definition
15 Oct 2021
What is foo (in software programming)?
Foo (pronounced FOO) is a term used by programmers as a placeholder for a value that can change depending on conditions or on information passed to the program. Continue Reading
By- Fred Churchville, TechTarget
-
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
By- Matt Heusser, Excelon Development
-
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
-
Definition
15 Sep 2021
refactoring
Refactoring is the process of restructuring code, while not changing its original functionality. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor