Website Development
This guide contains core development terminology that will help you to effectively and efficiently communicate with your team when working on web apps, mobile apps, and websites.
-
Agile Development
An umbrella term for several iterative and incremental software development methodologies. Elements of the agile manifesto include focusing on collaboration between team members and customers, responding to change, and focusing on creating workable products.
-
Amazon Web Services (AWS)
Amazon’s freemium version of cloud computing services that allows deployment, testing, and management of web applications.
-
Ansible
A program that makes multi-tiered deployment easier by modeling how all systems relate to one another.
-
Application Program Interface (API)
Software that allows you to talk to other applications and exchange data. They also allow a database to talk to a web app, mobile app, and/or a desktop app while staying in sync.
-
Backend
Any work done to integrate with the server, support an API that ties to the front-end, or add logic that can support requests from the front-end. The back end of an application deals with its functionality and logic.
-
Bitbucket
Software that helps with code collaboration by allowing inline comments, unlimited private repositories, and status reports.
-
Bootstrap
A common framework used to scaffold page design.
-
Browser
A user-friendly interface for navigating the internet and displaying web content
-
Bug
An error in the code or something that doesn’t work as expected.
-
Cascading Style Sheets (CSS)
Tells the browser how to style content elements on the page.
-
Closed Source Software (Proprietary)
Computer programs whose source code is not published. The source code is not shared with the public for anyone to look at or change. Proprietary software is usually created by businesses who want to sell their software, but some programs that are free to use are still proprietary because only the people that make the software can see and change the code. Closed source software is the opposite of open source software.
-
Cloud
Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications and services), which can be rapidly provisioned and released with minimal management effort. The cloud is beneficial because it is flexible, accessible, cost-effective, and great for collaboration.
-
CodeIgniter
An MVC framework for PHP, focusing on being lightweight and flexible.
-
Cross-Platform Mobile Deployment Framework
Software that allows you to write code that runs on many different platforms, including a range of mobile phone operating systems (e.g. iOS and Android). These frameworks help you create native or hybrid apps with one core code base.
-
Database
A structured data set on the server. The backend of a web application may access the database to retrieve, add, delete, or modify data.
-
DB2
IBM’s enterprise database solution. It allows for advanced functionality such as multi-tiered deployment, continuously available data, and storage optimization.
-
Debug
The process of fixing bugs.
-
Demandware
A company with a cloud-based e-commerce platform and related services for retailers and brand manufacturers around the world.
-
Deployment
The process of making software available for use to its intended users.
-
Design-led development
Fresh’s development approach. It draws on the waterfall model for upfront design to get early customer collaboration and put a vision on paper. Then, the agile approach is taken for development, with more customer feedback gathered as each phase rolls out.
-
DevOps
An effort to bring development principles like automation, repeatability, and testability to operations tasks such as building and deploying websites and web applications.
-
Docker
Software that aids in the management of microservices and applications on different platforms, with separation of concerns into different “containers.”
-
Framework
Software that provides a set of basic functionality, often used as a starting point for creating more complex software.
-
Front-End
Work that deals with the visible, user-facing elements of the application, done to support the browser experience.
-
Git
A program that allows users to save changes to the code in the form of “commits” that go into a code repository. This allows you to roll back if a bug is created or simply see the history of the code. Two developers can work on separate branches and then merge their changes to ensure that all code changes are integrated into the final product.
-
High-Level & Low-Level Programming Languages
Refers to the programming languages that are most accessible to humans, due to having syntax that resembles a natural language. Low-level programming languages are ones that allow for closer communication at the base level of how machines work, and they require greater specificity and tighter control of logic (but are often slower to work with due to these additional constraints).
-
HTTP
Stands for HyperText Transfer Protocol. It is the protocol a browser uses to request information from a server. For example, when you type in a web address, the browser uses the HTTP protocol to request content (such as the HTML document that displays a web application) from the correct server.
-
Hybrid App
An application that can take advantage of a phone’s native capabilities (camera, GPS, etc) and work on many phone operating systems, all while running on a web-based dynamic application that doesn’t need to be downloaded first.
-
HyperText Markup Language (HTML)
Tells a browser what content elements to display on a page.
-
Improvement
Code improvement or “refactoring” is improving the code’s components or structure to make it more reliable, compatible, or easier to work with.
-
Ionic
Another tool that allows developers to deploy a single codebase in multiple formats. It can create native mobile apps for ios and android with a single codebase, and app simulators are included to test functionality on multiple platforms.
-
JIRA
A popular tool for tracking site issues and managing development needs. Scrum masters can easily organize workflow and bug fixes because JIRA collects them into types, allows sub-tasks to be assigned, and keeps a log of the issues’ status within a customizable interface.
-
jQuery
A widely used framework with the largest number of plugins, albeit a fragmented code base.
-
Kanban Boards
An option for visually organizing a team’s work progress. Color-coded notes are placed on a whiteboard in columns in a way that indicates the status and scope of work with a quick glance.
-
LAMP
A tech stack made up of Linux, Apache, MySQL, and PHP.
-
Laravel
A popular PHP framework that handles task such as authentication, caching, and sessions.
-
LEMP
A variation of the LAMP tech stack with Nginx replacing Apache. This is becoming the more common option.
-
Magento
An open-source eCommerce option that’s more complex than WooCommerce, offering the ability to cross-sell, upsell, add advanced product filters, and install thousands of premium extensions.
-
MEAN
A stack that involves MongoDB, Express.js, AngularJS, Node.js. DynamoDB, IBM Domino, and DocumentDB are common substitutes for MongoDB in this stack.
-
Microsoft Azure
Microsoft’s enterprise-level cloud computing platform that allows for deployment, testing, and management of web applications.
-
Model View Controller (MVC)
A code layout that separates code into three separate code bases: code that controls the data and logic of the application (model), code that controls the what is output on the interface (view), and code that controls when and how the interface is updated (controller). Putting these in different places helps structure the code so that changes can be made quickly, and it helps enforce best practices for handling each of the three concerns.
-
Model View ViewModel (MVVM)
Similar concept as MVC above, except in this case, the term “ViewModel” is used to describe how the interface is updated. Data is two way bound between the View and the ViewModel so that both automatically update as needed when one or the other is triggered.
-
MSFT
The Microsoft stack that often includes .NET, SQL Server, and IIS. Microsoft stacks have an enterprise focus and a huge community, while being more expensive and sometimes offering fewer resources/options.
-
MySQL
A highly scalable, open-source relational database with high-profile users (e.g. Facebook and Google) and strong security features.
-
Native App
An app that is designed for a specific mobile operating system.
-
Open Source Software
Computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose.
-
Open Source Stacks
Any tech stack made up of open-source software. These tech stacks are free and flexible, though you’ll need to watch licensing and make sure there is adequate support for your stack.
-
Oracle
Oracle’s database product that has strong security, a user-friendly setup, and advanced features such as machine learning.
-
OsCommerce
An e-commerce and online store-management software program. It can be used on any web server that has PHP and MySQL installed. It is available as free software under the GNU General Public License.
-
Perforce
An example of a proprietary version control software designed for large teams.
-
PhoneGap
A framework that makes it possible to create a mobile application with HTML, CSS, and Javascript. The PhoneGap software acts as an API that communicates with the phone’s operating system to access native phone features, such as the camera or file managers.
-
Pipelines
A platform within Bitbucket that allows you to build, test, and deploy within a single interface.
-
PivotalTracker
This project management tool uses “stories” to break projects into manageable chunks, track the completion of those chunks, and predict project completion times by continually learning the team’s natural pace.
-
PostgreSQL
An open source database that’s known for useful features such as strict data compliance, point in time recovery, and advanced tools for creating subqueries.
-
Scrum
An Agile framework for completing complex projects. During a scrum sprint, the team selects a chunk of work to complete within 2-4 weeks, meeting daily to discuss progress. By the end of the sprint, work is ready to ship or share with stakeholders, and the cycle begins again.
-
Scrummaster
The facilitator for an agile development team. The scrum master manages the process for how work gets done and information is exchanged.
-
Server
A computer (or program) that provides access to a resource, such as a web application.
-
Service Oriented Architecture (SOA)
Enables you to separate backend processing from frontend and serve multiple frontend layers via API services, such as a mobile app, web app, and desktop app with the same backend.
-
Shopify
A full-service, premium eCommerce solution that offers a high visual quality and a wider range of features than the previous two.
-
Simple Object Access Protocol (SOAP)
A protocol that allows computers on two different operating systems to communicate with each other. Web applications that interact with computers on many different operating systems use these rules to reliably pass along information to any type of computer.
-
Software Testing
The process of discerning whether a product is acceptable to its end users, its target audience, its purchasers, and the stakeholders to whom it belongs.
-
SQL Server
Microsoft’s relational database product that has strong integration with its product suite, good enterprise support, and built-in business intelligence.
-
Subversion (SVN)
Another version control software with a more mature UI than Git, but a smaller usership and fewer features.
-
Symfony
Another PHP framework that focuses on interoperability between it and other tools and libraries.
-
Team Foundation Server
Microsoft’s agile planning tool that includes a suite of project management, bug tracking, and issue resolution tools.
-
Tech Stack
The combination of software (technologies, frameworks, and languages) that is used to develop a web or mobile application. It features both front-end (aka client-side) and back-end (aka server-side) components. It usually contains frontend, middle tier, and backend layers.
-
Test Suite
A set of tests developed for one unit of code, designed to ensure those modules perform a set of tasks as expected.
-
Test-Driven Development (TDD)
A development approach that includes software testing from the beginning. Tests are written to ensure key points of code functionality before the code itself is actually written. The tests serve as benchmarks to ensure that the code works as expected.
-
Trello
A digital version of a kanban board.
-
Unity
A popular choice for game creation, with a single codebase being deployed over mobile, gaming consoles, virtual reality, and desktop (among other platforms).
-
Version Control
A system for tracking changes in source code.
-
Vue
A framework that’s a bit easier to work with than Angular and has strong integration with Laravel.
-
Waffle
A software that creates automated project management aids (such as status and progress reports) by tracking issues and pull requests within Github.
-
Waterfall Model
A sequential (non-iterative) design process in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance.
-
WooCommerce
An open-source eCommerce platform for WordPress. It allows users to set up their own shop that integrates with a WordPress site.
-
Xamarin
A framework that allows you to build mobile apps in C#. For teams that already know C#, they won’t need to learn Objective-C or Swift (which are the common mobile development programming languages), which makes mobile implementation quicker.