Webサイト制作のための「開発ツール」
参考:Installing basic software - MDN
参考:Programming tool - Wikipedia
参考:Web development tools - Wikipedia
「開発(development)ツール」とは、「Webサイト」の実体を形作る開発段階で使用されるツールである。
ここでは、「フレームワーク」、「ライブラリ」等の曖昧さを残す用語の使用はせずに、「ツール」で統一する。
1. 基本の開発ツール
テキストエディター(ソースコードエディター、IDE)
参考:Source-code editor - Wikipedia
参考:Integrated development environment - Wikipedia
参考:どんなテキストエディタが利用可能ですか? - ウェブ開発を学ぶ | MDN
参考:State of JS 2020: Other Tools#text_editors
特徴 | テキストエディター | 公式サイト |
---|---|---|
使用率が高いIDE* | Visual Studio Code(IDE) | Visual Studio Code - Code Editing. Redefined |
歴史が長く、拡張性が高い(参考:Vim (text editor) - Wikipedia) | Vim | welcome home : vim online |
JavaScript IDE | WebStorm(IDE) | WebStorm: JetBrainsによる最もスマートなJavaScript IDE |
洗練されたデザイン | Sublime text | Sublime Text - Text Editing, Done Right |
Windowsのみ | Notepad++ | Notepad++ |
PHP IDE | PhpStorm(IDE) | PhpStorm:JetBrainsによる超高速でスマートなPHP IDE |
GitHubが開発 | Atom | Atom |
Java IDE | IntelliJ IDEA(IDE) | IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains |
歴史が長く、拡張性が高い(参考:Emacs (text editor) - Wikipedia) | Emacs | GNU Emacs - GNU Project |
Webブラウザーで利用できるIDE | AWS Cloud9(ブラウザーIDE) | AWS Cloud9(Cloud IDE でコードを記述、実行、デバッグ)| AWS |
その他のテキストエディター |
Webブラウザー
CLI(Command Line Interface)
参考:Command-line interface - Wikipedia
CLI(Command Line Interface) | 参考サイト |
---|---|
Unixシェル(Unix) | Unix shell - Wikipedia |
ターミナル(macOS) | Terminal (macOS) - Wikipedia |
コマンドプロンプト(Windows) | Cmd.exe - Wikipedia |
PowerShell(Windows) | PowerShell - Wikipedia |
その他のCLI |
2. 開発全般の効率化ツール
コーディング・プログラミングの効率化
用途 | 効率化ツール | 公式サイト |
---|---|---|
ソースコードの整形 | Prettier | Prettier · Opinionated Code Formatter |
JavaScriptの構文チェック | ESLint | ESLint - Pluggable JavaScript linter |
HTML、CSSなどの構文チェック | stylelint | Home | Stylelint |
その他の効率化ツール |
ソースコードのバージョン管理(コントロール)
参考:Version control - Wikipedia
分散型バージョン管理システム | 公式サイト |
---|---|
Git | Git |
その他のバージョン管理システム |
開発ツールのパッケージ管理(マネジメント)
参考:Package manager - Wikipedia
開発ツールのパッケージ管理(マネジメント) | 公式サイト | ||
---|---|---|---|
Node.jsのパッケージマネージャー | npm | npm | |
Yarn | Home | Yarn - Package Manager | ||
PHPのパッケージマネージャー | Composer | Composer | |
Rubyのパッケージマネージャー | RubyGems | RubyGems.org | コミュニティのGemホスティングサービス | |
.NETのパッケージマネージャー | NuGet | NuGet Gallery | Home | |
Pythonのパッケージマネージャー | pip | pip documentation v22.0.4 | |
Rustのパッケージマネージャー | Cargo | Introduction - The Cargo Book | |
その他のパッケージマネージャー |
テスティング
参考:Software testing - Wikipedia
テスティングツール | 公式サイト | ||
---|---|---|---|
「JavaScript」のテスティングツール | Jest | Jest · 🃏 Delightful JavaScript Testing | |
Storybook | Storybook: UI component explorer for frontend developers | ||
Cypress | JavaScript End to End Testing Framework | cypress.io testing tools | ||
Testing Library | Testing Library | Testing Library | ||
Puppeteer | Puppeteer v13.6.0 | ||
Playwright | Fast and reliable end-to-end testing for modern web apps | Playwright | ||
Mocha | Mocha - the fun, simple, flexible JavaScript test framework | ||
Jasmine | Jasmine Documentation | ||
「Ruby」のテスティングツール | RSpec | RSpec: Behaviour Driven Development for Ruby | |
「PHP」のテスティングツール | Pest | Pest - An elegant PHP Testing Framework | |
「Python」のテスティングツール | unittest | unittest — Unit testing framework — Python 3.10.4 documentation | |
pytest | pytest: helps you write better programs — pytest documentation | ||
「Java」のテスティングツール | JUnit | JUnit 5 | |
その他のテスティングツール |
3. フロンドエンドの開発ツール
参考:Frontend and backend - Wikipedia
参考:Front-end web development - Wikipedia
CSSの効率化
CSSの効率化ツール | 公式サイト |
---|---|
Sass(CSS拡張言語) | Sass: Syntactically Awesome Style Sheets |
PostCSS(CSS変換ツール) | PostCSS - a tool for transforming CSS with JavaScript |
その他のCSSの効率化ツール |
Webブラウザー間におけるCSSの差異を調整するスタイルシート | 公式サイト |
---|---|
Normalize.css | Normalize.css: Make browsers render all elements more consistently. |
sanitize.css | sanitize.css |
HTML5 Reset Stylesheet | HTML5 Reset Stylesheet | HTML5 Doctor |
その他のスタイルシート |
CSSの効率化ツール | 公式サイト |
---|---|
Tailwind CSS | Tailwind CSS - Rapidly build modern websites without ever leaving your HTML. |
Pure.css | Pure |
MaterializeCSS | Documentation - Materialize |
Bootstrap | Bootstrap · The most popular HTML, CSS, and JS library in the world. |
Primer | Primer Design System |
Bulma | Bulma: Free, open source, and modern CSS framework based on Flexbox |
その他のCSSの効率化ツール |
CSSの効率化ツール | 公式サイト |
---|---|
Material UI(ReactのためのCSS) | MUI: The React component library you always wanted |
Chakra UI(ReactのためのCSS) | Chakra UI - A simple, modular and accessible component library that gives you the building blocks you need to build your React applications. - Chakra UI |
Reactstrap(ReactのためのBootstrap) | Home/Installation - Page・Reactstrap |
その他のCSSの効率化ツール |
CSSの効率化ツール | 公式サイト |
---|---|
Styled Components(CSS-in-JS) | styled-components |
CSS Modules(CSS-in-JS) | GitHub - css-modules/css-modules: Documentation about css-modules |
Emotion(CSS-in-JS) | Emotion - Introduction |
Styled System(CSS-in-JS) | Styled System |
Styled JSX(CSS-in-JS) | GitHub - vercel/styled-jsx: Full CSS support for JSX without compromises |
Stitches(CSS-in-JS) | Stitches — CSS-in-JS with near-zero runtime |
Linaria(CSS-in-JS) | Linaria – zero-runtime CSS in JS library |
Fela(CSS-in-JS) | Fela |
Theme UI(CSS-in-JS) | Theme UI |
その他のCSS効率化ツール |
JavaScript(クライアントサイド)の効率化
参考:List of JavaScript libraries - Wikipedia
参考:Comparison of JavaScript-based web frameworks - Wikipedia
JavaScript(クライアントサイド)の効率化ツール | 公式サイト |
---|---|
React | React – A JavaScript library for building user interfaces |
Vue.js | Vue.js |
Angular | Angular |
Svelte | Svelte • Cybernetically enhanced web apps |
Preact | Preact |
その他のJavaScript効率化ツール |
JavaScriptの効率化(JavaScriptを生成する言語) | 公式サイト | KnotText内での参考ページ |
---|---|---|
TypeScript | TypeScript: JavaScript With Syntax For Types. | Level 2:コンピューター言語 > クライアントサイドのコンピューター言語 > TypeScript |
その他のJavaScriptを生成する言語 |
用途 | JavaScript(クライアントサイド)の効率化ツール | 公式サイト |
---|---|---|
Web API | Axios | Axios |
関数群 | Lodash | Lodash |
Underscore.js | Underscore.js | |
Ramda | Ramda Documentation | |
日付・時刻 | date-fns | date-fns - modern JavaScript date utility library |
Day.js | Day.js · 2kB JavaScript date utility library | |
Luxon | luxon - Immutable date wrapper | |
非同期処理 | RxJS | RxJS |
データビジュアライゼーション | D3.js | D3.js - Data-Driven Documents |
3DCG | Three.js | Three.js – JavaScript 3D Library |
Babylon.js | Babylon.js: Powerful, Beautiful, Simple, Open - Web-Based 3D At Its Best | |
チャート | Chart.js | Chart.js | Open source HTML5 Charts for your website |
C3.js | C3.js | D3-based reusable chart library | |
アニメーション | anime.js | anime.js • JavaScript animation engine |
Processingの移植版 | p5.js | home | p5.js |
VR・AR | A-Frame | A-Frame – Make WebVR |
双方向通信 | Socket.IO | Socket.IO |
その他のJavaScript効率化ツール |
ビルドツール
用途 | ビルドツール | 公式サイト |
---|---|---|
タスクランナー・ファイルの変換 | Webpack | webpack |
ファイルの変換 | Rollup | rollup.js |
Parcel | Parcel | |
esbuild | esbuild - An extremely fast JavaScript bundler | |
Snowpack | Snowpack | |
Babel | Babel · The compiler for next generation JavaScript | |
タスクランナー | gulp.js | gulp.js |
その他のビルドツール |
状態管理
フロントエンドの状態管理ツール | 公式サイト |
---|---|
GraphQL | GraphQL | A query language for your API |
Apollo Client | Apollo GraphQL | Supergraph: unify APIs, microservices, & databases in a composable graph |
Redux | Redux - A predictable state container for JavaScript apps. | Redux |
Vuex | What is Vuex? | Vuex |
XState | XState - JavaScript State Machines and Statecharts |
Recoil | Recoil |
NgRx | NgRx Docs |
React Query | React Query - Hooks for fetching, caching and updating asynchronous data in React |
RxJS | RxJS |
その他の状態管理ツール |
4. バックエンドの開発ツール
参考:Frontend and backend - Wikipedia
Node.js(サーバーサイドでのJavaScript)で開発
参考:Comparison of server-side web frameworks - Wikipedia#JavaScript
Node.js(サーバーサイドでのJavaScript)で開発 | 公式サイト |
---|---|
Express | Express - Node.js web application framework |
Next.js(React) | Next.js by Vercel - The React Framework |
Nuxt(Vue.js) | Nuxt - The Intuitive Vue Framework |
Gatsby(React) | The Fastest Frontend Framework for Headless CMS's | Gatsby |
Vuepress(Vue.js) | VuePress |
Gridsome(Vue.js) | Modern Site Generator for Vue.js - Gridsome |
Hexo | Hexo |
Docusaurus | Build optimized websites quickly, focus on your content | Docusaurus |
その他の開発ツール |
Node.js(サーバーサイドでのJavaScript)で開発 | 公式サイト |
---|---|
Fastify | Fastify, Fast and low overhead web framework, for Node.js |
Strapi | Strapi - Open source Node.js Headless CMS |
NestJS | NestJS - A progressive Node.js framework |
その他の開発ツール |
Node.js(サーバーサイドでのJavaScript)で開発 | 公式サイト |
---|---|
Pug(テンプレートエンジン) | Getting Started – Pug |
ejs(テンプレートエンジン) | EJS -- Embedded JavaScript templates |
その他のテンプレートエンジン |
PHPで開発
参考:Comparison of server-side web frameworks - Wikipedia#PHP
PHPで開発 | 公式サイト |
---|---|
CakePHP | CakePHP - Build fast, grow solid | PHP Framework | Home |
Laravel | Laravel - The PHP Framework For Web Artisans |
CodeIgniter | Welcome to CodeIgniter |
Symfony | Symfony, High Performance PHP Framework for Web Development |
FuelPHP | FuelPHP » A simple, flexible, community driven PHP5.3 framework. |
その他の開発ツール |
参考:CMS(Content management system - Wikipedia)
PHPで開発 | 公式サイト |
---|---|
WordPress(CMS) | Blog Tool, Publishing Platform, and CMS | WordPress.org |
Drupal(CMS) | Drupal - Open Source CMS | Drupal.org |
その他のCMS |
PHPで開発 | 公式サイト |
---|---|
Twig(テンプレートエンジン) | Home - Twig - The flexible, fast, and secure PHP template engine |
Smarty(テンプレートエンジン) | PHP Template Engine | Smarty |
Laravel Blade(テンプレートエンジン) | Blade Templates - Laravel - The PHP Framework For Web Artisans |
その他のテンプレートエンジン |
Pythonで開発
参考:Comparison of server-side web frameworks - Wikipedia#Python
Pythonで開発 | 公式サイト |
---|---|
Django | The web framework for perfectionists with deadlines | Django |
Flask | Welcome to Flask — Flask Documentation (2.0.x) |
FastAPI | FastAPI |
Tornado | Tornado Web Server — Tornado 6.1 documentation |
Django REST Framework | Home - Django REST framework |
aiohttp | Welcome to AIOHTTP — aiohttp 3.8.1 documentation |
Jinja(テンプレートエンジン) | Jinja — Jinja Documentation (3.0.x) |
その他の開発ツール |
Javaで開発
参考:Comparison of server-side web frameworks - Wikipedia#Java
Javaで開発 | 公式サイト |
---|---|
Spring Framework | Spring Framework |
Jakarta EE | Jakarta® EE | Cloud Native Enterprise Java | Java EE | the Eclipse Foundation | The Eclipse Foundation |
Play Framework(Scalaも使用可能) | Play Framework - Build Modern & Scalable Web Apps with Java and Scala |
Jakarta Server Faces(JSF) | Jakarta Faces | The Eclipse Foundation |
Apache Struts | Welcome to the Apache Struts project |
Jakarta Server Pages(JSP)(テンプレートエンジン) | Jakarta Server Pages | projects.eclipse.org |
その他の開発ツール |
Microsoftの言語で開発
参考:Comparison of server-side web frameworks - Wikipedia#ASP.NET
Microsoftの言語で開発 | 公式サイト |
---|---|
ASP.NET(.NET, C#, F#, Visual Basicを使用可能) | ASP.NET | オープン ソースの .NET 向け Web フレームワーク |
その他の開発ツール |
Rubyで開発
参考:Ruby (programming_language) - Wikipedia
参考:Comparison of server-side web frameworks - Wikipedia#Ruby
Rubyで開発 | 公式サイト |
---|---|
Ruby on Rails | Ruby on Rails — A web-app framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. |
cuba microframework | Cuba | Microframework for web development |
HANABI | Hanami | The web, with simplicity |
Jekyll(SSG) | Jekyll • Simple, blog-aware, static sites | Transform your plain text into static websites and blogs |
Haml(テンプレートエンジン) | Haml |
その他の開発ツール |
Goで開発
参考:Go (programming language) - Wikipedia
Goで開発 | 公式サイト |
---|---|
echo | Echo - High performance, minimalist Go web framework |
gin | Gin Web Framework |
Hugo(SSG) | The world’s fastest framework for building websites | Hugo |
その他の開発ツール |
Rustで開発
参考:Rust (programming_language) - Wikipedia
Rustで開発 | 公式サイト |
---|---|
Rocket | Rocket - Simple, Fast, Type-Safe Web Framework for Rust |
Actix | Actix Web | A powerful, pragmatic, and extremely fast web framework for Rust. |
Gotham | Gotham web framework |
Tera(テンプレートエンジン) | Tera |
その他の開発ツール |
Kotlinで開発
参考:Kotlin (programming_language) - Wikipedia
Kotlinで開発 | 公式サイト |
---|---|
Ktor | Ktor: Build Asynchronous Servers and Clients in Kotlin | Ktor Framework |
その他の開発ツール |
5. Webアプリケーション開発技術の応用
参考:Web application - Wikipedia
デスクトップアプリケーション(Mac、Windows、Linux)の開発
参考:Application software - Wikipedia
デスクトップアプリケーション開発ツール | 公式サイト |
---|---|
Electron | Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. |
その他の開発ツール |
モバイルアプリケーション(Android、iOS)の開発
参考:Mobile app development - Wikipedia
モバイルアプリケーション開発ツール | 公式サイト |
---|---|
React Native | React Native · Learn once, write anywhere |
Expo | Expo |
Flutter | Flutter - Build apps for any screen |
Capacitor | Capacitor - build cross platform apps with the web |
Ionic | Cross-Platform Mobile App Development: Ionic Framework |
Apache Cordova | Apache Cordova |
その他の開発ツール |