In the beginning, creating a website involved simply using a text editor to construct hypertext documents, adding links to other documents, and applying CSS style commands for cosmetic purposes. Microsoft’s FrontPage and other “high-level” development tools aided in the process. As web development has progressed into the technological complexity of today, we are familiar with a great many buzz-words, but not too clear on the details of them all. The purpose of this article is to provide a brief definition of these components and an overview of how they interact within the web development process.
Most developers have there own tools of preference, and to be considered a “full-stack” developer, would be proficient with at least one front-end tool, as well as least one back-end tool. A modern full-stack development environment will contain some, or all, of the following:
Hypertext Markup Language, or HTML is the most basic component of a web document. HTML5 is the most recent flavor and includes many features that provide additional functionality, such as the <audio>, <video> and <nav> tags. Functionality that developers previously provided by other methods.
Understanding the basics of HTML is imperative for anyone who creates web-pages, whether they are professional stack developers, or merely novice users.
Cascading style sheets, or CSS, consist of a series of commands used to format the appearance and define certain characteristics of HTML elements. A CSS command consists of a 2 basic parts, a selector and a set of rules. Each HTML tag can be referenced, usually by a class or an id associated with the element. The rules in the CSS statement define characteristics of the selected element.
An interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.
An interpreted, high-level, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan.
Ruby is dynamically typed and garbage-collected. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. According to the creator, Ruby was influenced by Perl, Smalltalk, Eiffel, Ada, Basic, and Lisp.
React can be used as a base in the development of single-page or mobile applications, as it is optimal for fetching rapidly changing data that needs to be recorded. However, fetching data is only the beginning of what happens on a web page, which is why complex React applications usually require the use of additional libraries for state management, routing, and interaction with an API.
A Python-based free and open-source web framework, which follows the model-template-view (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established as a 501(c)(3) non-profit.
Git, with its site GitHub, is an open-source repository.
Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows.
Sass (Syntactically awesome style sheets) is a style sheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum. After its initial versions, Weizenbaum and Chris Eppstein have continued to extend Sass with SassScript, a simple scripting language used in Sass files.
Sass is a preprocessor scripting language that is interpreted or compiled into Cascading Style Sheets (CSS). SassScript is the scripting language itself. Sass consists of two syntaxes. The original syntax, called “the indented syntax,” uses a syntax similar to Haml. It uses indentation to separate code blocks and newline characters to separate rules. The newer syntax, “SCSS” (Sassy CSS), uses block formatting like that of CSS. It uses braces to denote code blocks and semicolons to separate lines within a block. The indented syntax and SCSS files are traditionally given the extensions .sass and .scss, respectively.
A cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schema. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).
Since MongoDB is a NoSQL type database, instead of having data in a relational type format, it stores the data in documents. This makes MongoDB very flexible and adaptable to real business world situations and requirements. MongoDB supports searching by field, range queries, and regular expression searches. Queries can be made to return specific fields within documents.
MongoDB uses the concept of sharding to scale horizontally by splitting data across multiple MongoDB instances. MongoDB can run over multiple servers, balancing the load and/or duplicating data to keep the system up and running in case of hardware failure.
Please feel free to comment on this article. Thank you for reading!