模写コーディングでスキル向上!やり方やポイントを初心者向けに解説

模写コーディングはどのようにやるの?
どんなWebサイトを模写すればいいの?

Web制作のスキルを身につけたい人にとって「模写コーディング」はおすすめの学習方法です。しかし、プログラミング初心者だとやり方がわからず、上記のような疑問を抱えている人も多いですよね。

そこで、本記事では模写コーディングとは何かを、初心者向けに基本からわかりやすく解説します。模写コーディングのメリットやデメリット、やり方も紹介するので、ぜひ参考にしてください。

この記事の要約
  • 模写コーディングWebサイト制作の学習者に効果的
  • 学習効率を高めるならルール決めや質問・相談できる環境が必要
  • 実務レベルの上達は難しいが、実務を意識した練習としては有効

なお、1人で学習が進められるか、途中で挫折しないか不安な人は「侍エンジニア」をお試しください。

侍エンジニアでは現役エンジニアと学習コーチの2名体制で学習をサポートするため、挫折しづらい環境で学習が進められます。

受講料が最大70%OFFになる「給付金コース」も提供中。未経験から効率よく学習を進めたい人は、ぜひ一度お試しください。

\ オンラインで相談可能 /

本記事の解説内容に関する補足事項

本記事はプログラミングやWebデザインなど、100種類以上の教材を制作・提供する「侍テラコヤ」、4万5,000名以上の累計指導実績を持つプログラミングスクール「侍エンジニア」を運営する株式会社SAMURAIが制作しています。

また、当メディア「侍エンジニアブログ」を運営する株式会社SAMURAIは「DX認定取得事業者」に選定されており、プログラミングを中心としたITに関する正確な情報提供に努めております。

記事制作の詳しい流れは「SAMURAI ENGINEER Blogのコンテンツ制作フロー」をご確認ください。

目次

模写コーディングとは

模写コーディングとは

模写コーディングとは、既存のWebサイトやアプリの機能・デザインを模倣しながら、再現するようにコードを作ることです。

コーディングを上達させるためには、手を動かしながら積極的に実践することが求められます。とはいえプログラミング初心者が、いきなりオリジナルの成果物を作ることはハードルが高いですよね。

そこで、すでに完成している既存のWebサイトやアプリを「お手本」にすることで、効率的な実践学習を図るのが模写コーディングです。

多くの場合、既存のWebサイトを模倣してWeb制作を実践することを指します。そのため以降では、Webサイトにおける模写コーディングを前提に解説を進めます。

開発言語の基礎知識が不可欠

前提として、模写コーディングには開発言語の基礎知識が欠かせません。ただ答えとなるコードを書き写すわけではなく、自分で考えながらコードを書かなければならないためです。

具体的には、以下の3言語の基礎知識は習得していることが望ましいといえます。各言語の概要がわかる記事をリンクしたので、あわせて参考にしてください。

言語名概要
HTMLWebページの表示内容を定義する言語
CSSWebページのデザインやレイアウトを定義する言語
JavaScriptWebページに動きをつける言語

基礎知識を持たずに進めても上手くいかず、すぐに答え(コード)を見ることになるでしょう。これでは効果が薄くなります。効率よく実践力の向上を図るなら、基礎知識は習得してから学習することをおすすめします。

特に、HTML/CSSはWeb制作の最も基本的な言語です。まずはHTML/CSSの基本を身につけ、その後JavaScriptを学ぶと良いでしょう。

写経との違い

コーディングの練習方法としては、「写経」という言葉もよく使われます。写経とは、既存のWebサイトやアプリのコードを見ながら、自分で書き写すことです。

模写コーディングは、既存のWebサイトを再現できるよう、自分で考えてコーディングを行います。基本的に、答えのコードをいきなり見ることはしません。一方の写経は、答えとなるコードを見ながら作業するのが違いです。

写経では、お手本のコードに詰まったテクニックを見ながら学べます。しかし、自分で考えなければならない模写コーディングのほうが、より実践力は高まりやすいでしょう。

なお、次の記事では写経とは何か、その効果ややり方も交えて紹介しているのでぜひ参考にしてください。

プログラミング上達の近道は写経!やり方やおすすめサイトも紹介

1人でスキル習得できるか不安な人はスクールもおすすめ

独学でWeb制作のスキルを身につけるべく、模写コーディングを行おうと考えている人のなかには、

独学で模写を続ければコーディングが上達するのかな…
途中で挫折したらどうしよう…

と不安な人もいますよね。実のところ、コーディングを含むプログラミングの学習途中で挫折する独学者は多くいます。事実、弊社の調査では

  • 不明点を聞ける環境になかった
  • エラーが解決できなかった
  • モチベーションが続かなかった

などの理由から、87.5%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。

プログラミング学習における挫折率の調査
プログラミング学習者の87.5%が挫折を経験したことがある

調査概要:プログラミング学習の挫折に関するアンケート
調査対象:10代〜80代の男女298名
調査期間:2019年8月13日~8月20日
調査方法:インターネット調査
掲載元:PR TIMES

こうした背景もあり、確実性・効率性を重視する人の多くが選んでいるのがプログラミングスクールです。事実、弊社が実施した別の調査では、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。

61%の人がプログラミングの勉強を始めるならスクールが良いと回答

調査概要:プログラミングに興味がある方の意識調査
調査期間:2021/11/19~2021/12/3
対象者:プログラミング学習を検討している10代~50代の男女100名
調査媒体:クラウドワークス
掲載元:PR TIMES

独学で挫折して時間や費用を失うよりは、多少費用をかけてでもスクールでスキルを身につけるほうが確実です。とはいえ、「スクールでも挫折しないか不安…」「受講費用を少しでも抑えたい」という人は多いですよね。

そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。

300×300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
300x300-samuraiengineer (1)
6
700x700_01 (1)
700x700_02
700x700_03
700x700_04
700x700_05
700x700_06
700x700_07
700x700_08
previous arrow
next arrow
分割料金一括料金受講期間
4,098円~16万5,000円~1ヶ月~
  • 転職・副業・独立などの目的に特化したコースあり
  • 累計指導実績4万5,000名以上
  • 給付金活用で受講料が最大70%OFF

侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。侍エンジニアでは

  • 現役エンジニア講師によるマンツーマンレッスン
  • 現役エンジニアに質問できるオンラインでのQ&Aサービス
  • 不安や悩み・勉強の進み具合を相談できる学習コーチ

といったサポート体制を整えているため、学習中に出てきた不明点をいつでも相談可能です。「受講生の学習完了率98%」という実績からも、侍エンジニアなら挫折しづらい環境で学習を進められるといえます。

また、侍エンジニアでは最大70%OFFで受講可能な「給付金コース」を提供中。金銭面での支援を受けつつ、理想のキャリア実現に向けたスキルの習得から、転職活動・就業後のフォローアップ(※1)までを一貫してサポートしてもらえます。

※1:転職後の1年間、転職先での継続的な就業や転職に伴う賃金上昇などのフォローアップ

学習と金銭面をどちらもサポートしてくれる侍エンジニアなら、未経験からでも安心してインフラエンジニアへの就業が実現できますよ。

→ 公式サイトで侍エンジニアの詳細を見る

模写コーディングを行う3つのメリット

模写コーディングを行う3つのメリット

ここからは、模写コーディングを行うメリットを、3つにまとめて解説します。

メリット1:実践学習を効率的に行える

模写コーディングは前述のように、効率的に実践学習を行える方法といえます。既存のWebサイトをお手本にすることでゴールが明確となり、学習の方針を決めやすくなるためです。

完全オリジナルのWebサイトを作る場合、用途や機能、デザインなどを自分で考えなければなりません。模写コーディングではそれらの作業をスキップできるため、ゴールを見据えて効率的にコーディングを進められるのです。

メリット2:高度なテクニックを吸収できる

模写コーディングを行うことで、高度なテクニックを吸収できるでしょう。高品質なWebサイトには、プロのさまざまなテクニックが詰まっています。それらを再現しようとする過程で、多くの学びが得られるはずです。

ただし、最初から答えを見るのでは写経と大差ありません。「どうすれば再現できるのか」を自分で考え、お手本に少しでも近づけるようにコーディングを進めていきましょう。

メリット3:モチベーション向上につながる

模写コーディングを行うことで、モチベーション向上につながります。「お手本のようなWebサイトを作れた」という成功体験を重ねることで、自信や成長の実感を得られるためです。

コーディングスキルの習得には多くの期間を要するため、モチベーションをいかに維持するかが重要となります。模写コーディングでモチベーションを高めることは、学習途中での挫折を防ぐことにもつながるでしょう。

模写コーディングを行うデメリット

模写コーディングを行うデメリット

メリットに続き、ここからは模写コーディングを行うデメリットを、2つにまとめて解説します。

デメリット1:実務レベルの実践力は習得できない

模写コーディングだけでは、実務レベルの実践力は習得できません。コーディングの仕事で必要となる作業の多くをスキップできる反面、経験できる作業が限定されるためです。

たとえば、実務では「Photoshop」や「Illustrator」といったツールや、それらで作ったデータを扱うケースもあります。しかし模写コーディングの場合、すでに完成している素材を活用するため、こうした作業を経験できません。

よって、コーディングを仕事にしたい場合、模写コーディングだけでは不十分です。実務レベルのスキルを身につけたいなら、より広範囲な学習が必要なことを念頭に置いておきましょう。

デメリット2:ポートフォリオには不向き

コーディングを仕事にしたい場合、「ポートフォリオ(スキルや実績を証明できる作品集)」は有効なツールとなります。しかし、模写コーディングで制作した成果物をそのままポートフォリオにすることはおすすめしません。

模写コーディングの成果物はあくまで模倣であり、オリジナリティを出すことが難しいためです。Web企業の採用担当者は、多くのポートフォリオを見ています。オリジナリティの低いWebサイトは評価されにくいでしょう。

よって、コーディングの仕事獲得に向けてポートフォリオを用意するなら、完全オリジナルのWebサイトを制作すべきです。なお、次の記事ではポートフォリオの作り方を解説しているので、よければ参考にしてください。

Webサイト制作実績をまとめたポートフォリオの作り方を徹底解説!

模写コーディングのやり方・5ステップ

模写コーディングのやり方・5ステップ

模写コーディングのやり方としては、大まかに次の5ステップがおすすめです。なお、基礎レベルの言語スキルは習得済みであることを前提としています。

ステップ1:模写対象のWebサイトを決める

まずは、模写対象のWebサイトを決めましょう。どのWebサイトを選ぶかによって、吸収できるテクニックも変わってきます。

とはいえ、いきなりハイレベルすぎるWebサイトを選んでも上手くいかず、自信を失ってしまうケースもあります。最初はシンプルな機能やデザインのWebサイトを選ぶとよいでしょう。

ステップ2:模写するための準備を行う

次に、Webサイトを模写するための準備を行いましょう。具体的には、模写に必要なフォルダやファイルを作ったり、コーディングに必要なツールを導入したりします。

少なくとも、コードの記述に役立つ「テキストエディタ」は導入しておきましょう。人気のテキストエディタには色分け表示機能やコード補完機能などがあり、効率的に模写コーディングを進められます。

なお次の記事では、Web制作で使えるおすすめテキストエディタを紹介しているので、ぜひ参考にしてください。

HTML/CSS、JavaScriptで使える超優秀フリーエディタおすすめ5選

ステップ3:模写対象のWebサイトを調査する

続いて、模写対象のWebサイトを調査しましょう。Webサイトのデザインやレイアウトなどを調べ、どのような構成・構造になっているかを把握しておくことが大切です。

タブやメニューの構成、画像やボタンといったオブジェクト配置、アニメーションといった動的な要素など、幅広い調査が必要です。調査してわかった内容は、テキストファイルや紙などに整理しておくと良いでしょう。

ステップ4:自分でコードを書く

そして調査内容を手掛かりに、模写対象のWebサイトを再現するためのコードを書いていきます。Webサイトの模写コーディングでは前述の3言語を使いますが、次の順序でコーディングを進めると良いでしょう。

  • 1.HTMLでWebページの骨組みを作る
  • 2.CSSでWebページのデザインやレイアウトを整える
  • 3.JavaScriptで動きのある要素を作る

いきなり100%のクオリティに仕上げることは不可能です。1つずつ着実に進めていきましょう。

ステップ5:問題がないか確認する

Webサイトの模写コーディングをひと通り行ったら、問題がないか確認しましょう。デザインやレイアウトがお手本どおりになっているか、タブやボタンなどの動きが再現できているかなどを確認します。

この段階では、答えとなるコードをじっくり見ても構いません。ブラウザの「検証ツール」などを使えば、HTMLやCSS、JavaScriptのコードを確認できます。問題ないことを確認できれば、模写コーディングは完了です。

【レベル別】模写コーディングにおすすめの参考サイト

【レベル別】模写コーディングにおすすめの参考サイト

なかには「どのWebサイトを選べば良いかわからない…」という人もいますよね。そこで、ここからは次の対象者別に、模写コーディングにおすすめの参考サイトを紹介します。

入門者

模写コーディングが初めての人は、シンプルなレイアウトから始めるのが一番です。商品やサービスの訴求に使われるLP(ランディングページ)など、複雑な画面の切り替えや遷移が少ないWebページから始めましょう。

下のLPはタブやメニューがなく、1つのWebページに情報が集約されておりシンプルです。しかし、「position」など使いこなすにはコツがいるCSSも使われており、練習にぴったりです。

入門者向けの参考サイトをチェックする

初級者

LPの模写コーディングに慣れてきたら、Webサイトのスタンダードなレイアウトにチャレンジしましょう。

次のWebサイトは、まさに「基本を押さえたレイアウト」です。ポピュラーなヘッダーメニュー(画面最上部に表示)が採用されています。カーソルを合わせたときの細かい動きなど、JavaScriptのスキルも要求されます。

初級者向けの参考サイトをチェックする

中級編

スタンダードなWebサイトに慣れてきたら、今度はより工夫の盛り込まれたデザインにチャレンジしましょう。

こちらのWebサイトは、アイコンの回転やスクロール時の部分移動など、かなり繊細な動きが盛り込まれています。HTMLやCSSはもちろん、JavaScriptのスキルも存分に活用しなければ再現するのは難しいでしょう。

中級向けの参考サイトをチェックする

模写コーディングの効果を高めるポイント4つ

模写コーディングの効果を高めるポイント4つ

模写コーディングは初心者の練習に効果的です。しかし、ただ単にコードを丸ごと写すだけではなかなか上達しません。次のポイント4つを意識して、模写でしっかりスキルを身につけていきましょう。

レベルに合わせてルールを決める

レベルに合わせてルールを決めましょう。一般的なコーディングのルールではなく、「どこまで再現するか」「どのレベルまで許容するか」といった、模写コーディングを進めていくうえでのルールです。

模写コーディングはあくまでも練習のため、必ずしも1ピクセル単位まで合わせる必要はありません。事前に決めたルールの範囲内で目的を持って取り組めば、たとえ1ピクセルずれていても無駄にはならないのです。

参考までに、レベル別のおすすめ模写ルールや方針の例をまとめました。

方針模写コーディング時のルール
入門
レベル
作成の流れを掴むために、レイアウトだけ再現する。・画像はダウンロードする
・文字は「あああ」でOK
・多少のずれは許容する
・背景画像は入れなくてもOK
・レスポンシブデザイン(画面に応じた表示の調整)は対応しない
初級
レベル
細かいデザインやレイアウトもできる限り再現する。・画像はダウンロードする
・文字はコピーアンドペーストする
・フォントの種類はケアしない
・多少のずれは許容する
・背景画像も入れる
・角丸やフォントも極力近づける
・レスポンシブデザインに対応する
中級
レベル
実務レベルに近づくよう、完璧を目指す・画像はダウンロードする
・文字はコピーアンドペーストする
・フォントの種類はツールで調べる
・1ピクセル単位で再現する
・背景画像も入れる
・角丸やフォントも完璧に再現する
・要素の意味を考え、適切なHTMLタグを使う
・レスポンシブデザインに対応する

あくまで一例ですが、参考にしてみてください。上達に合わせて段階的に厳しくしていきましょう。

要素を分解して考える

模写というよりコーディングそのものにいえることですが、デザインが何で構成されているのかを分解して考えることが重要です。ボタンといったオブジェクトの見た目だけでなく、全体のレイアウトにも当てはまります。

最初から全体で捉えようとすると、考えるべき部分が多いために方向性を定めづらいのです。最初は全体をざっくりと分解し、だんだん細かく分解していくのが、効率の良いコーディングの秘訣です。

絵を描く時にアタリをつけるように、文章を書くときにプロットを作るように、少しずつ完成に近づけていくことを意識してみましょう。

無理に100%を目指さない

前述のとおり、模写コーディングはあくまで練習です。無理に100%を目指す必要はありません。

コーディング初心者にありがちなのが、1つひとつを丁寧に作り込みすぎてなかなか先に進まないパターンです。最終的には作り込みも必要ですが、最初からやろうとしても上手くいきません。

ピクセル単位の細かいずれ修正など、100%の再現は難しいうえに手間がかかります。無理に100%を目指すよりは、ある程度のクオリティを目指しつつ数をこなすほうが効率的でしょう。

自分だけで解決できないことは質問・相談する

初心者の模写コーディングには、不明点が付き物です。まずはWebで調べることが大切ですが、それでも解決できないこともあります。そのような場合は、自分だけで悩まずに質問・相談しましょう。

たとえば、「teratail」のような質問サイトで質問すれば、先輩エンジニアが回答してくれる可能性があります。独学に不安があれば、現役エンジニアに質問できるスクールを利用するのも1つの選択肢です。

模写対象Webサイトのコードを見れば、どう書くのが正解かはわかります。しかし、「なぜこう書くのか」まで掘り下げなければ知識は定着しません。不明点をそのままにせず、質問・相談できる環境を積極的に活用しましょう。

模写コーディングにまつわるFAQ

最後に、模写コーディングによくある質問へまとめて回答します。

模写コーディングに必要な画像素材はどう入手するの?

模写コーディングに必要な画像素材を入手する方法は、主に次の2つです。

  • ブラウザの画像保存機能を使ってダウンロードする
  • ツールを用いてキャプチャする

たとえばGoogle Chromeブラウザには、画像を右クリックすると「名前を付けて画像を保存」といったメニューがあります。こうした画像保存機能を使えば、手軽に画像のダウンロードが可能です。

名前を付けて画像を保存

ただし、なかには上記の方法でダウンロードできない画像もあります。その場合は、Windowsの「Snipping Tool」などのツールで画像をキャプチャし、保存することも可能です。

「模写コーディングは意味ない」は本当?

なかには、「模写コーディングは意味ない」といった声もあります。確かに、進め方を誤れば結果的に意味がなくなるケースもあるでしょう。しかし、必ずしも模写コーディングが意味ないということはありません。

模写コーディングは、コーディングの流れを実践するうえで有効な練習方法です。自分で考える過程で実践力を養えるだけでなく、お手本のWebサイトから多くの学びを得られるでしょう。

また、フロントエンド(見た目部分)を担当するITエンジニアは、Webデザイナーが作ったデザインカンプ(完成見本)をもとに実装方針を考えます。模写コーディングはこの工程に重なるため、実務を意識した練習にもなります。

模写コーディングを意味のある練習にするためには、正しいやり方で進めることが大切です。

まとめ

今回は、模写コーディングに関する次の7点についてお伝えしました。

模写コーディングは効率的に実践し、コーディングを上達させるうえで有効な練習方法です。しかし、正しい方法で模写コーディングを行えなければ、期待ほどの効果が得られないこともあります。

模写コーディングの効果を高めたい人は、今回の内容をぜひ参考にしてください。

この記事の監修者

フルスタックエンジニア

金田 茂樹


音楽大学卒業後、15年間中高一貫進学校の音楽教師として勤務。40才のときからIT、WEB系の企業に勤務。livedoor(スーパーバイザー)、楽天株式会社(ディレクター)、アスキーソリューションズ(PM)などを経験。50歳の時より、専門学校でWEB・デザイン系の学科長として勤務の傍ら、副業としてフリーランス活動を開始。 2016年、株式会社SAMURAIのインストラクターを始め、その後フリーランスコースを創設。現在までに100名以上の指導を行い、未経験から活躍できるエンジニアを輩出している。また、フリーランスのノウハウを伝えるセミナーにも多数、登壇している。

この記事を書いた人

【プロフィール】
9年ほどITエンジニアを経験したのち、豊富な技術文書の作成経験を活かし、専業Webライターへ転身。クラウドワークスでは半年ほどでプロ認定、3年半ほどでトッププロ認定を受ける。システムエンジニア・プログラマー・テストエンジニアなどを経験しており、上流から下流まで幅広い開発工程のノウハウを習得しているのが強み。侍エンジニアブログでは、2020年から幅広い分野の執筆を担当。「挫折させないライティング」をモットーに、プログラミング初心者の方でも負担なく読める記事の執筆を心がけています。
【専門分野】
IT/システム開発/組み込み開発/アプリ開発(主にWindows)
【保有資格】
基本情報技術者試験
応用情報技術者試験
ソフトウェア品質技術者資格認定(JCSQE)初級
JSTQB認定テスト技術者資格(Foundation Level)

目次