dev:fullstacks

Full Stacks (Software Bundles)

Software development solution stacks and bundles. FIXME

  • MEAN
  • LAMP
  • RUBY
  • PYTON
  • IOS
  • .NET
  • LYME
  • JAVA/Android

Links

  • MongoDB, a NoSQL database
  • Express.js, a web application framework that runs on Node.js
  • Angular.js, a JavaScript MVC framework that runs in browser JavaScript engines
  • Node.js, an execution environment for event-driven server-side and networking applications

Used By:

  • Google
  • PayPal
  • NetFlix
Snippet from Wikipedia: MEAN (solution stack)

MEAN (MongoDB, Express.js, AngularJS (or Angular), and Node.js) is a source-available JavaScript software stack for building dynamic web sites and web applications. A variation known as MERN replaces Angular with React.js front-end, and another named MEVN use Vue.js as front-end.

Because all components of the MEAN stack support programs that are written in JavaScript, MEAN applications can be written in one language for both server-side and client-side execution environments.

Though often compared directly to other popular web development stacks such as the LAMP stack, the components of the MEAN stack are higher-level including a web application presentation layer and not including an operating system layer.

The acronym MEAN was coined by Valeri Karpov. He introduced the term in a 2013 blog post and the logo concept, initially created by Austin Anderson for the original MEAN stack LinkedIn group, is an assembly of the first letter of each component of the MEAN acronym.

  • Linux
  • Apache
  • MySQL
  • PHP

Used by:

  • Yahoo
  • Wikipedia
  • Facebook
Snippet from Wikipedia: LAMP (software bundle)

LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components.

Each letter in the acronym stands for one of its four open-source building blocks:

  • Linux for the operating system
  • Apache HTTP Server
  • MySQL for the relational database management system
  • PHP, Perl, or Python for the programming language

The components of the LAMP stack are present in the software repositories of most Linux distributions.

Ruby on Rails.

  • Ruby
  • Rails
  • RSpec
  • Capybara
  • PostgreSQL

Used by:

  • Grupon
  • Twitter
  • Hulu
Snippet from Wikipedia: Ruby on Rails

Ruby on Rails (simplified as Rails) is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer and HTML, CSS and JavaScript for user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.

Ruby on Rails' emergence in 2005 greatly influenced web app development, through innovative features such as seamless database table creations, migrations, and scaffolding of views to enable rapid application development. Ruby on Rails' influence on other web frameworks remains apparent today, with many frameworks in other languages borrowing its ideas, including Django in Python; Catalyst in Perl; Laravel, CakePHP and Yii in PHP; Grails in Groovy; Phoenix in Elixir; Play in Scala; and Sails.js in Node.js.

Well-known sites that use Ruby on Rails include Airbnb, Crunchbase, Dribbble, GitHub, Twitch and Shopify.

  • Python
  • MySQL
  • FLASK
  • AJAX
  • JQuery

Used by:

  • Redit
  • Instagram
  • Venmo

  • Swift
  • XCode
  • iOS, Mac OS

Used by:

  • Apple
Snippet from Wikipedia: Swift (programming language)

Swift is a high-level general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. and the open-source community. Swift compiles to machine code, as it is an LLVM-based compiler. Swift was first released in June 2014, and the Swift toolchain has shipped in Xcode since version 6, released in 2014.

Apple intended Swift to support many core concepts associated with Objective-C, notably dynamic dispatch, widespread late binding, extensible programming, and similar features, but in a "safer" way, making it easier to catch software bugs; Swift has features addressing some common programming errors like null pointer dereferencing and provides syntactic sugar to help avoid the pyramid of doom. Swift supports the concept of protocol extensibility, an extensibility system that can be applied to types, structs and classes, which Apple promotes as a real change in programming paradigms they term "protocol-oriented programming" (similar to traits and type classes).

Swift was introduced at Apple's 2014 Worldwide Developers Conference (WWDC). It underwent an upgrade to version 1.2 during 2014 and a major upgrade to Swift 2 at WWDC 2015. Initially a proprietary language, version 2.2 was made open-source software under the Apache License 2.0 on December 3, 2015, for Apple's platforms and Linux.

Through version 3.0 the syntax of Swift went through significant evolution, with the core team making source stability a focus in later versions. In the first quarter of 2018 Swift surpassed Objective-C in measured popularity.

Swift 4.0, released in 2017, introduced several changes to some built-in classes and structures. Code written with previous versions of Swift can be updated using the migration functionality built into Xcode. Swift 5, released in March 2019, introduced a stable binary interface on Apple platforms, allowing the Swift runtime to be incorporated into Apple operating systems. It is source compatible with Swift 4.

Swift 5.1 was officially released in September 2019. Swift 5.1 builds on the previous version of Swift 5 by extending the stable features of the language to compile-time with the introduction of module stability. The introduction of module stability makes it possible to create and share binary frameworks that will work with future releases of Swift.

Swift 5.5, officially announced by Apple at the 2021 WWDC, significantly expands language support for concurrency and asynchronous code, notably introducing a unique version of the actor model.

Swift 5.9, was released in September 2023 and includes a macro system, generic parameter packs, and ownership features like the new consume operator.

The current version, Swift 5.10, was released in March 2024. This version improves the language's concurrency model, allowing for full data isolation to prevent data races. It is also the last release before Swift 6.

  • C#, ASP, VB, F#, LINQ, …
  • Visual Studio
  • IIS
  • SQL Server
  • Xamarin

Used by:

  • Microsoft
Snippet from Wikipedia: .NET Framework

The .NET Framework (pronounced as "dot net") is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

FCL provides the user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment for .NET software called Visual Studio.

.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.

In April 2019, Microsoft released .NET Framework 4.8, the last major version of the framework as a proprietary offering, followed by .NET Framework 4.8.1 in August 2022. Only monthly security and reliability bug fixes to that version have been released since then. No further changes to that version are planned. The .NET Framework will continue to be included with future releases of Windows and continue to receive security updates, with no plans to remove it as of November 2023.

  • Java
  • Eclipse
  • Oracle

Used by:

  • Oracle
  • Android
Snippet from Wikipedia: Java (programming language)

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities (such as reflection and runtime code modification) that are typically not available in traditional compiled languages.

Java gained popularity shortly after its release, and has been a very popular programming language since then. Java was the third most popular programming language in 2022 according to GitHub and it is ranked fourth on TIOBE index as of January 2024. Although still widely popular, there has been a gradual decline in use of Java in recent years with other languages using JVM gaining popularity.

Java was originally developed by James Gosling at Sun Microsystems. It was released in May 1995 as a core component of Sun's Java platform. The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses. As of May 2007, in compliance with the specifications of the Java Community Process, Sun had relicensed most of its Java technologies under the GPL-2.0-only license. Oracle offers its own HotSpot Java Virtual Machine, however the official reference implementation is the OpenJDK JVM which is free open-source software and used by most developers and is the default JVM for almost all Linux distributions.

As of September 2023, Java 21 is the latest version, which is also a long-term support (LTS) version. Java 8, 11, and 17 are previous LTS versions still officially supported.

Other

  • ELK – Elasticsearch, Logstash, Kibana – via Logz.io

## ToDo ##

  1. MEAN Stack:
    • MongoDB (Database)
    • Express.js (Backend Framework)
    • Angular (Frontend Framework)
    • Node.js (Runtime Environment)
  2. MERN Stack:
    • MongoDB (Database)
    • Express.js (Backend Framework)
    • React (Frontend Library)
    • Node.js (Runtime Environment)
  3. LAMP Stack:
    • Linux (Operating System)
    • Apache (Web Server)
    • MySQL (Database)
    • PHP (Server-side Scripting Language)
  4. WAMP Stack:
    • Windows (Operating System)
    • Apache (Web Server)
    • MySQL (Database)
    • PHP (Server-side Scripting Language)
  5. Django Stack:
    • Django (Backend Framework)
    • Python (Programming Language)
    • Various frontend technologies can be used alongside Django.
  6. Ruby on Rails Stack:
    • Ruby on Rails (Backend Framework)
    • Ruby (Programming Language)
    • Various frontend technologies can be used alongside Rails.
  7. Laravel Stack:
    • Laravel (Backend Framework, PHP)
    • PHP (Programming Language)
    • Various frontend technologies can be used alongside Laravel.
  8. Vue.js Stack:
    • Vue.js (Frontend Framework)
    • Various backend technologies can be used alongside Vue.js.
  9. Spring Boot Stack:
    • Spring Boot (Backend Framework, Java)
    • Java (Programming Language)
    • Various frontend technologies can be used alongside Spring Boot.
  10. Meteor Stack:
    • Meteor (Full Stack Framework)
    • MongoDB (Database)
    • Node.js (Runtime Environment)
    • Various frontend technologies can be used alongside Meteor.
  11. Flask Stack:
    • Flask (Backend Framework, Python)
    • Python (Programming Language)
    • Various frontend technologies can be used alongside Flask.
  12. Ember.js Stack:
    • Ember.js (Frontend Framework)
    • Various backend technologies can be used alongside Ember.js.
  • dev/fullstacks.txt
  • Last modified: 2023/08/25 12:37
  • by Henrik Yllemo