Coding Languages and Frameworks:
HTML/CSS – These core web technologies are essential for building any type of web application. HTML defines the content and structure, while CSS controls the design and layout. Many sites are built with just these languages.
JavaScript – As the core scripting language of the web, JavaScript is necessary for adding dynamic and interactive elements to web pages and applications. It is supported across all major browsers. Advanced JavaScript frameworks can be used to build complex single-page apps.
Python – A versatile programming language used widely in industry. Python can be used to build both front-end web apps using frameworks like Django and Flask, as well as back-end APIs and microservices. Python is also well-suited for data analysis, machine learning, and scripting tasks.
Java – The most popular language for traditional back-end web application development. The Spring framework is commonly used for creating enterprise-level Java web apps. Java can also be used to build Android mobile apps.
Swift/Objective-C – Required for building native iOS mobile apps running on iPhone and iPad. Swift is the primary language nowadays, replacing Objective-C, but it’s good to be familiar with both.
Kotlin – The preferred language for Android application development alongside Java. Kotlin code works directly with Android SDK and is fully interoperable with Java.
React – A JavaScript library for building complex user interfaces and single-page apps. React makes it easier to create interactive UIs and is commonly paired with frameworks like Redux. Widely used by Facebook, Instagram, and other big companies.
Angular – Another popular JavaScript framework, developed by Google. Similar capabilities to React but with a more fully-featured framework approach.
Node.js – A JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js lets you write backend apps in JavaScript and is commonly used for REST API development alongside frameworks like Express.
Flutter – Google’s open-source mobile app SDK for building high-quality native applications for iOS and Android from a single codebase with the Dart programming language.
Development Environments:
Visual Studio Code – A free, lightweight but powerful source code editor made by Microsoft for Windows, Linux and macOS. Highly customizable and extensible.
Android Studio – The official IDE for developing Android apps.Provides an integrated environment for building Android apps with tools for compiling, debugging, and performance optimization.
Xcode – The official IDE for developing iOS apps on Mac systems. All development and deployment of apps is handled within Xcode.
PyCharm – A Python IDE developed by JetBrains, optimized for writing, debugging, and profiling Python code. Great for Django and Flask web development.
IntelliJ IDEA – A Java IDE that can also be used for Android, Python, JavaScript, etc. Very powerful but heavier than alternatives.
Databases:
MySQL – The world’s most popular open-source relational database. Wide support and easy to use with many web frameworks.
Postgres – Another powerful open-source relational database used heavily in industry. Considered more robust than MySQL for complex requirements.
MongoDB – The dominant document-oriented NoSQL database. Flexible for unstructured data and frequently used with Node, Python and mobile backends.
Firebase – Google’s mobile platform with a realtime database well suited for mobile app development. Handles authentication, hosting, push notifications and more.
Testing & Deployment:
Jest – JavaScript testing framework primarily used with React apps. Easy to setup and runs fast with straightforward API.
JUnit – De facto unit testing standard for Java apps. Integrates cleanly with frameworks like Spring Boot.
Postman – Useful GUI tool for sending HTTP requests to test and document RESTful APIs during development.
Travis CI/GitHub Actions – Popular continuous integration services that can automate building/testing code and deploying releases when changes are pushed to GitHub.
Heroku – Leading cloud application platform. Makes it simple to deploy and host web/mobile backends written in most languages including Java, Python, Node, Ruby etc. Provides automated deploys from GitHub.
AWS – Industry-leading cloud provider offering comprehensive PaaS and IaaS services to deploy production apps at scale. Services like EC2, S3, API Gateway, Lambda,etc. More complex but powerful capabilities over Heroku.
Android Play Store/iOS App Store – Final deployment destinations for distributing production mobile apps to end users. Requires setting up signed release builds with their respective app stores.
With the vast selection of languages, frameworks, environments and tools listed above, students have everything they need available for free or at low cost to design, develop, test and ship a professional quality capstone project for the web or mobile. Carefully selecting the right stack based on the project requirements and one’s skills/interests will ensure success in completing an impactful application.