【環境構築不要】プログラミングはブラウザでできる
プログラミングを勉強したくても、開発環境の構築が苦手でその段階で挫折してしまう人が少なくありません。また、やっと環境構築を行ってみたものの、苦手意識が払拭できずなかなか先に進まない人もいるでしょう。
開発環境の構築が不要ですぐにコードが書けたら、プログラミング学習のハードルが一気に下がるかもしれません。
そこでこの記事では、開発環境の構築が不要な、無料のWebアプリサービスを紹介します。学びたい言語や要件に合うサービスを見つけて、プログラミングの学習やコーディングにぜひ利用してみましょう。
プログラミング学習を行う上でどのようなプログラミング言語があるか知っておきたい方は、以下の記事も併せてチェックしてください。
ブラウザを使うメリットとデメリット
今回はWebブラウザを利用したサービスを紹介します。ブラウザのサービスにはどのようなメリット・デメリットがあるのかについて確認しておきましょう。
4つのメリット
ブラウザサービスのメリットは、以下のようなネイティブアプリでは難しいことをWebブラウザによって実現している点です。1つずつ確認していきましょう。
■ ダウンロードやインストールが不要
ネイティブアプリの場合は、ローカルにプログラムやインストーラーをダウンロードしなければなりません。直接ダウンロードしたアプリを直接起動して利用する場合もありますが、多くの場合はインストールしてから利用します。また、不要になった場合にはアンインストールを行います。
その点、Webアプリを利用したサービスは、ダウンロードやインストール、さらにはアンインストールも不要です。
■ バージョン管理が不要
ネイティブアプリの場合はバージョンの管理が不可欠です。機能追加や不具合対応によって、ソフトウェアのバージョンが更新されますので、必要に応じてバージョンアップを行う必要がありますが、Web利用の場合はそうした必要がありません。
■ OSの制約を受けにくい
Webを利用したサービスは基本的にOSの制約を受けにくく、Windows・MacOS・Linux系OSを搭載したパソコンで1つのサービスを同じように利用できる可能性が高い点が特徴です。また、タブレットも利用できるため、さまざまな環境で柔軟に利用できるでしょう。
■ リソースの消費が少ない
パソコンやタブレットのリソース(メモリーなど)消費が少なく、容量不足などの心配をする必要がありません。比較的スペックの低い端末や老朽化した端末でも利用することができます。
2つのデメリット
前述の通り、Webブラウザを利用したサービスは多くのメリットを有していますが、一方で次のようなデメリットもありますので、注意が必要です。
■ ネットワークの影響を受ける
Webアプリはネットワーク利用を前提にしているため、オフライン環境やネットワーク環境が不安定な環境では利用が制限されます。オフラインでローカルでの作業ができないため、場合によっては使いにくさを感じることもあります。
■ 動作面や機能面の制約がある
Webアプリはパソコンやタブレット側の性能や機能を発揮することができないため、処理が重くなる、カメラ撮影ができないといった動作面や機能面での制約があります。
ブラウザ上でプログラミングができる無料のWebサービス16選
ここでは、ブラウザ上でプログラミングができるWebサービスを16選で紹介します。それぞれどういったサービスなのかを解説します。
paiza.IO
「paiza.IO」は、ブラウザ上でプログラミングのコードを記述できるだけでなく、書いたコードをすぐに実行できるオンライン実行環境です。対応しているプログラミング言語には、C・C++・Java・Ruby・Python・PHP・Perlなど32種類ほどあるため、触れてみたいプログラミング言語をお試し感覚で扱うことができます。
また、ファイルアップ機能や外部APIへの接続、 スクレイピングなども可能であるため、使い勝手の良いWebサービスです。
【参考】:paiza.IO
Colaboratory
「Colaboratory」は、ブラウザ上でPythonコードを記述し、実行まで可能なサービスです。プログラミングに必須である環境構築が必要ないため、手軽に始められて作業効率アップを図ります。GPUに料金不要でアクセスできたり、共有も簡単にできたりと使いやすいのも特徴です。
また、Pythonのライブラリ機能を活用してデータ分析も行えるため、学生をはじめデータサイエンティストなどのプロのITエンジニアも愛用しています。
【参考】:Colaboratory
Runstant
「Runstant」は、思い立ったら瞬時にプログラミングのコーディングを始めることができる、エディタでありプレビューツールです。実行結果も高速で確認でき、サーバを介さないプレビュー確認が可能です。
また、コンソール画面をページ内に表示していることで、デバッグ作業も苦になりません。その他にも、コードのハイライトや補完、オートインデント機能、vim、Emacsに対応しているなど、コーディングに必要な機能が備わっています。
【参考】:Runstant
Replit
「Replit」は、ブラウザ型のIDE(統合型開発環境)であり、セットアップや設定などを行う必要がなく、スマホでも利用できるツールです。50種類以上の言語をサポートしており、バージョン管理・デバッグツール・コード補完などの機能が備わっています。
プログラミング初心者からプロのITエンジニアまで幅広いレベルの開発者に利用されており、初めて利用する場合は無料プランから試してみるといいでしょう。
【参考】:Replit
Ideone
「Ideone」は、使い方がシンプルで使いやすい環境構築が不要なオンライン実行環境ツールです。実行したいコードを入力し、ボタンを押すだけで実行結果がすぐに表示されます。エラーを教えてくれたり、スマホにも対応していたりと、使い勝手のいいツールです。
対応している言語は、Bash・C言語・Java・Perl・PHP・Python・Rubyなど、60種類サポートされています。
【参考】:Ideone
Coding Ground
「Coding Ground」は、SQL・HTML・Python・Java・C言語など、多くのプログラミング言語を利用できるオンライン実行環境ツールです。利用したいプログラミング言語をクリックするだけでコードを記述できるページに飛ぶため、プログラミング初心者でも使いやすいでしょう。
【参考】:Coding Ground
C++Shell
「C++ Shell」は、環境構築するのは面倒だけどC++に触れてみたい方におすすめなオンラインでの実行環境ツールです。リンクを開くと、はじめからヘッダーにインクルードが設置されているため、あとは必要なコードを記述するのみで試せます。
構文がエラーになっているかどうかもチェックできるため、難易度が高いと思われるC++を気軽に利用することで習得コストを下げることができるでしょう。
【参考】:C++ Shell
SQL Fiddle
「SQL Fiddle」は、環境構築が必要なくすぐにSQLを実行できるWebサービスです。SQLを学習中の方や、ちょっとした検証を行いたいエンジニアの方におすすめです。
SQL Fiddleで対応しているRDBMSには、SQL Server・SQLite・PostgreSQL・MySQL・MariaDB・Oracle・Oracle PLSQLがあり、それぞれの環境が用意されています。
【参考】:SQL Fiddle
JSFiddle
「JSFiddle」は、JavaScript・HTML・CSSのコードを実装でき、動作確認や記述したコードの保存・共有ができるWebサービスです。主な機能として、パネル設定・エディタ設定・外部リソースの追加・フィドルの埋め込みなどがあります。
また、利用にあたって会員登録などは必要なく、サイトにアクセスするだけですぐに利用できますが、ログインの有無で利用できる機能に差があるようです。
【参考】:JSFiddle
PHP Sandbox
「PHP Sandbox」は、環境設定が必要ないPHPフレームワークが試せるWebサービスです。SymfonyやLaravelなどのフレームワークを試すことができ、無料プランで10個のプロジェクトを作成できます。エディタがVScodeに似た見た目であるため、馴染みやすさや使いやすさがあるのも特徴的です。
利用にあたって会員登録やログインの必要がないのも、利用しやすいメリットの1つでしょう。
【参考】:PHP Sandbox
codepad
「codepad」は、好きなプログラミング言語を選んでコードを記述し、ボタンを押すだけで実行結果が確認できるWebサービスです。C・C++・Java・Pythonなどの言語に対応しており、共有機能があったりチャットの機能があったりと、会員登録なしでも優れた機能を利用できます。
【参考】:codepad
Code.org
「Code.org」は、世界中からコンピュータサイエンスを学ぶための生徒たちがアクセスする、プログラミング学習サイトです。8,000万人以上の生徒と200万人の教師がいるため、スキルレベルやプロジェクト内容に合わせたコーチングが可能です。
ログインすることでアプリラボやゲームラボなど、希望のプロジェクトへ参加できます。
【参考】:Code.org
CodeCombat
「CodeCombat」は、ゲームを通してプログラミングの学習ができるカリキュラムです。大学入試科目の中に採用されているPythonやJavaScriptなど、人気のプログラミング言語を学ぶことができます。
190ヵ国以上で活用され、2,000万人のユーザを誇る本サービスは、単にプログラミングのスキルを学習するだけでなく、プログラミングスキルと同様に重要視されている「英語力」も同時に鍛えられます。「勉強は大変で辛い」という概念を払拭し、「楽しく学習する」をモットーにスキル習得を目指します。
【参考】:CodeCombat
CodeChef
「CodeChef」は、初心者や現役エンジニアに関わらず、誰でも気軽にコーディングができるサイトです。利用にあたって保存はできませんがユーザ登録が必要で、サイトにアクセスするだけですぐに実行できます。高速なコーディングが可能であり、エラーの確認やメモリの使用量も確認できます。
また、CodeChefではエディターをお気に入りのテーマにカスタマイズすることもできるため、自分好みのエディターでコードチェックが可能です。
【参考】:CodeChef
jdoodle
「jdoodle」は、JavaやC/C++、C#、Python、HTML/CSS、PHP、Javascript、Typescript、SQLなど、88種類以上の言語でコードを記述・保存・実行できます。ユーザ登録は不要ですぐに実行でき、ワークフローに合わせてIDEのレイアウトをカスタマイズ可能です。
コーディング機能に限らず、ファイル名の変更や操作、アップロードなどの機能も提供しています。また、共有機能も備えているため、チームメンバーとの共同作業も可能にします。
【参考】:jdoodle
Solo Learn
「Solo Learn」は、主要なプログラミング言語を自由に扱うことができ、いつでもコンパイラ内で言語変更ができます。HTMLやCSS、JavaScript、Python、C、C++、C#、R、Go、Java、Kotlin、Swiftなどをサポートしています。
また、わからないことはサイト内にあるコミュニティに質問を投げることで、問題を解決できます。
【参考】:Solo Learn
機能と目的で選ぶプログラミング補助Webサービス
前述したように、Webブラウザを利用したプログラミングサービスは多くあります。どのサービスを利用すれば良いのか迷うところですが、最も重視する機能で選択するといいでしょう。ここでは、おすすめのサイトを必要な機能や利用目的に合わせて分類しました。
日本語に対応しているサービス
英語が苦手、英文表記だと分かりづらいという方には、日本語に対応したサイトをおすすめします。
日本語に対応しているサービスは「paiza.IO」と「Google Colaboratory」があります。ただし、Google ColaboratoryはPython言語のみの対応です。他、Web系フロントエンド(HTML、CSS、JavaScript)に特化した日本製サービス「Runstant」があります。
【参考】:ブラウザでプログラミング実行ができる「オンライン実行環境」| paiza.IO 【参考】:Colaboratory へようこそ - Colaboratory 【参考】:Runstant
対応するプログラム言語が多いサービス
複数の言語を利用しており、多くの言語に対応しているサービスを求めている方におすすめするサイトです。「Replit」「Ideone」「codingground」は多くの言語に対応しています。他に、paiza.IOはC・C++・Java・Ruby・Python・PHP・Perlなどのメジャーな言語をカバーしていますので、これらを選択すれば未対応言語で困るようなケースはほぼないでしょう。
【参考】:Replit-The collaborative browser based IDE 【参考】:Ideone-Online Compiler and IDE >> C/C++, Java, PHP, Python, Perl and 70+ other compilers and interpreters 【参考】:codingground|C, C++, Java, Python, PHP Online Compliers, Terminals and Editors 【参考】:ブラウザでプログラミング実行ができる「オンライン実行環境」| paiza.IO
特定の言語に特化しているサービス
学びたい言語が1種類で、その言語に特化したサービスを求めている方におすすめのサイトを紹介します。
Pythonを学びたい方には「Google Colaboratory」がおすすめです。その他、C++だけに対応する「C++ shell」、SQLだけに対応した「SQL Fiddle」、HTML・CSS・JavaScriptなどWeb開発に限定したサービス「JSFiddle」があります。
Web系限定のサービスには前述のRunstantもあります。他、PHPに限定したサービスとして「PHP Sandbox」があります。
【参考】:Colaboratory へようこそ - Colaboratory 【参考】:C++ Shell 【参考】:SQL Fiddle 【参考】:JSFiddle - Code Playground 【参考】:Runstant 【参考】:PHP Sandbox - Execute PHP code online through your browser
入力補完機能が充実しているサービス
普段から高機能エディタを利用し、入力補完機能に慣れている方には、Webサービスでも入力補完機能が充実しているサイトがおすすめです。入力補完機能が充実しているサイトに「paiza.IO」「Runstant」「Replit」があります。
【参考】:ブラウザでプログラミング実行ができる「オンライン実行環境」| paiza.IO 【参考】:Runstant 【参考】:Replit-The collaborative browser based IDE
ファイルのアップロードができるサービス
プログラミングではファイルアクセスが必要な方には、ファイルのアップロード機能を備えたサイトがおすすめです。おすすめのサイトに「Replit」「codingground」があります。
【参考】:Replit-The collaborative browser based IDE 【参考】:codingground|C, C++, Java, Python, PHP Online Compliers, Terminals and Editors
GitHub連携が可能なサービス
プログラミングでGitHubを利用している方には、GitHub連携機能を持ったサービス「paiza.IO」「Google Colaboratory」「Replit」がおすすめです。
【参考】:ブラウザでプログラミング実行ができる「オンライン実行環境」| paiza.IO 【参考】:Colaboratory へようこそ - Colaboratory 【参考】:Replit-The collaborative browser based IDE
シンプルで軽いサービス
思い立ったらすぐに使いたい・軽いのがよい・機能にはこだわらない方には、「codepad」がおすすめです。
C・C++・D・Haskell・Lua・OCaml・PHP・Perl・Python・Ruby・Scheme・Tclなどの言語に対応しています。言語切替はラジオボタンで行え、コピペして直ちに実行結果を見ることができます。
【参考】:codepad
子供でも使えるサービス
子供を対象とした、やさしいサービスを使ってみたい方には「Code.org」がおすすめです。4歳から18歳を対象とする子供向けのサービスで、「ビジュアルプログラミング言語」を利用します。
ほとんどがテキストの入力をせずに済み、ブラウザ上でマウス操作中心にゲームなどのプログラミングが行えます。年齢に関係なく、アカウント登録せずにプログラミングの考え方を体感できるため、プログラミングを初めて体験する人におすすめです。
遊びながらプログラミング言語が学べるサービス
「CodeCombat」は、RPGなどで遊びながらプログラミング言語を学べるブラウザゲームサイトです。
フリー入力とは異なり、いくつかの示された選択肢から正しいものを選んで入力していきます。日本語モードも用意され、6種類の言語(Python・JavaScript・CoffeeScript・Clojure・Lua・lo)に対応しています。
【参考】:CodeCombat - PythonとJavaScriptを学ぶコーディングゲーム | CodeCombat
お気に入りのWebサービスでプログラミングスキルを高めよう
この記事では、環境構築が不要で、Webブラウザで利用できる無料のプログラミング環境サービスを紹介しました。利用目的別、重視するポイント別にサービスを分類しましたので、各位のニーズに合わせて選択できます。
Webブラウザでプログラミングが可能なのか疑問に思う方もいるかもしれませんが、実際に多くのエンジニアの方が利用し、その便利さを実感しています。この記事を読まれた皆さんも、お気に入りのWebサービスを見つけて、プログラミングスキルの向上にぜひ役立てましょう。
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから