Software Development Stacks
Certainly! Here are some popular software development stacks:
LAMP Stack (Linux, Apache, MySQL, PHP)
MEAN Stack (Mongo DB, Express JS, Angular JS, Node JS)
MERN Stack (Mongo DB, Express JS, React JS, Node JS)
JAMstack (JavaScript, API, Markup)
Ruby on Rails
Python/Django Stack
Java Spring Stack
ASP.NET Stack
React Native Stack
Flutter Stack
Mobile Hybrid Stack
Angular Stack
Vue.js Stack
Full-Stack JavaScript
PHP Laravel Stack
.NET Core Stack
Serverless Stack
Docker Stack (Docker is a software platform that allows you to build, test, and deploy applications
quickly)
Kubernetes Stack
ELK Stack (Elasticsearch, Logstash, Kibana)
Please note that this is not an exhaustive list, and there are many other stacks and combinations of
technologies that can be used in software development. Additionally, each stack may have variations or
different versions depending on specific project requirements and preferences.
Frontend Development Languages
Here are some popular front-end languages used in software development:
HTML (Hypertext Markup Language)
CSS (Cascading Style Sheets)
JavaScript
TypeScript
Dart
CoffeeScript
Elm
PureScript
Haml
Jade/Pug
Handlebars
EJS (Embedded JavaScript)
JSX (JavaScript XML)
Elm
WebAssembly
These languages are often used in combination with front-end frameworks and libraries such as React,
Angular, Vue.js, Next JS, Nuxt JS, and Ember.js to build interactive and dynamic user interfaces for web
applications.
Backend Development Languages
Here are some commonly used backend programming languages in software development:
Java
C#
Python
PHP
Ruby
Go
JavaScript
Node.js
Nest JS
Rust
These languages are often utilized for building the server-side logic, handling databases, and
implementing the backend functionality of web applications and systems.
Mobile Apps Development Languages
Sure! Here are some popular programming languages used in mobile application development:
Swift (iOS)
Objective-C (iOS)
Java (Android)
Kotlin (Android)
C# (Xamarin)
Dart (Flutter)
JavaScript (React Native)
HTML/CSS (PhoneGap/Cordova)
C++ (Native development for iOS and Android)
Python (Kivy)
These languages are commonly used to develop mobile applications for both iOS and Android platforms.
Each language has its own unique features and advantages, and the choice of language often depends
on factors such as platform requirements, development ecosystem, and developer preferences.
CMS / CRM Development Languages
Here are some commonly used Content Management System (CMS) and Customer Relationship
Management (CRM) platforms and the languages they are built with:
WordPress: PHP
Drupal: PHP
Joomla: PHP
Magento: PHP
Shopify: Ruby on Rails (RoR) and Liquid (template language)
HubSpot: HubL (HubSpot's proprietary templating language)
Salesforce: Apex (Salesforce's proprietary programming language)
Microsoft Dynamics 365: .NET (C#)
Adobe Experience Manager (AEM): Java
Sitecore: .NET (C#)
Please note that the languages mentioned are primarily used for customizing and extending the
functionality of these CMS/CRM platforms. These platforms often have their own APIs and provide
flexibility for developers to work with various programming languages for integration and customization
purposes.
ML / AI Frameworks / Libraries
Here are some popular Machine Learning (ML) and Artificial Intelligence (AI) frameworks, libraries, and
platforms commonly used in software development:
TensorFlow
PyTorch
Scikit-learn
Keras
Apache Spark
Microsoft Cognitive Toolkit (CNTK)
Theano
Caffe
MXNet
H2O.ai
OpenAI Gym
IBM Watson
Microsoft Azure ML
Google Cloud AI Platform
Amazon SageMaker
Databases
Here are some commonly used databases in software development:
MySQL
PostgreSQL
Oracle Database
MongoDB (NoSQL)
Microsoft SQL Server
SQLite
Redis (in-memory data structure store)
Cassandra (NoSQL)
Firebase Realtime Database
Elasticsearch (distributed search and analytics engine)
CouchDB (NoSQL)
DynamoDB (managed NoSQL database by AWS)
Neo4j (graph database)
MariaDB
Amazon Aurora (MySQL and PostgreSQL compatible relational database)
These are just a few examples of popular databases, and there are many others available, each with its
own strengths and use cases. The choice of database often depends on factors such as scalability
requirements, data structure complexity, performance needs, and the specific use case of the
application being developed.
Microservices
Microservices architecture in software development involves breaking down an application into smaller,
independent services that can be developed, deployed, and scaled independently. Here are some
common names of microservices used in software development:
User Service
Authentication Service
Authorization Service
Payment Service
Order Service
Inventory Service
Catalog Service
Notification Service
Logging Service
Email Service
Messaging Service
Recommendation Service
Search Service
Analytics Service
Image Processing Service
File Storage Service
Customer Service
Account Service
Social Media Integration Service
Workflow Service
These are just a few examples, and the specific microservices needed for an application will depend on
the functionality and requirements of the system. Each microservice typically focuses on a specific
domain or functionality and communicates with other microservices through well-defined APIs or
messaging systems.
Cloud Platforms
Here are some popular cloud platforms commonly used in software development:
Amazon Web Services (AWS)
Microsoft Azure
Google Cloud Platform (GCP)
IBM Cloud
Oracle Cloud
Alibaba Cloud
Salesforce Cloud
VMware Cloud
Digital Ocean
Heroku
These cloud platforms offer a range of services and infrastructure that developers can leverage to build,
deploy, and scale their software applications. Each cloud provider has its own set of offerings, including
virtual machines, storage solutions, serverless computing, databases, AI services, and more. Developers
can choose the cloud platform that best fits their project requirements, budget, and familiarity.
DevOps Tools
Here are some popular DevOps tools and technologies used in software development:
Jenkins
GitLab CI/CD
Travis CI
CircleCI
Bamboo
TeamCity
Docker
Kubernetes
Ansible
Puppet
Chef
Terraform
AWS CloudFormation
Google Cloud Deployment Manager
Azure DevOps (formerly known as Visual Studio Team Services)
Jira
SonarQube
ELK Stack (Elasticsearch, Logstash, Kibana)
Prometheus
Grafana
These are just a few examples, and there are many other tools and technologies available in the DevOps
landscape. The specific tools and technologies used can vary depending on the project requirements,
the organization's infrastructure, and the team's preferences. It's important to choose the right
combination of DevOps tools and technologies that align with the project goals and help streamline the
software development and deployment processes.
Version Control Systems
Here are some commonly used versions control systems (VCS) in software development:
Git
Subversion (SVN)
Mercurial
Perforce
Team Foundation Version Control (TFVC)
CVS (Concurrent Versions System)
Bazaar
Darcs
Bitbucket
Visual SourceSafe (VSS)
These version control systems allow developers to track changes, collaborate on code, and manage
different versions of their software projects effectively. Git, in particular, has gained widespread
popularity and is widely used in the software development community due to its distributed nature and
robust feature set.
Deployment Tools
Here are some commonly used deployment tools in software development:
Jenkins
Travis CI
CircleCI
GitLab CI/CD
GitHub Actions
TeamCity
Bamboo
Ansible
Chef
Puppet
Docker
Kubernetes
AWS CodeDeploy
Google Cloud Build
Azure DevOps (formerly known as Visual Studio Team Services)
Microsoft Power BI
Microsoft Power BI is used to find insights within an organization's data. Power BI can help connect
disparate data sets, transform and clean the data into a data model and create charts or graphs to
provide visuals of the data. All of this can be shared with other Power BI users within the organization.