インスピレーションが湧かない人へ。今日から作れる挑戦しがいのあるアプリのアイディア5選

本記事は、[Trevor Indrek Lasn](https://trevorlasn.medium.com/)氏による「[Need Inspiration? Here Are 5 Challenging App Ideas You Can Start Building Today](https://betterprogramming.pub/here-are-5-challenging-app-ideas-you-can-start-building-today-jan-2020-78cd4fb45996)」（2020年1月9日公開）の和訳を、著者の許可を得て掲載しているものです。

#インスピレーションが湧かない人へ。今日から作れる挑戦しがいのあるアプリのアイディア5選
>コーディングに挑戦してスキルを磨こう

![](https://miro.medium.com/max/700/1*Lr9N6ygUuAoGhA29otzpog.png)

##はじめに

他のスキルと同様に、コーディングも努力、忍耐、猛勉強によって習得することができます。コーディングは、常に鍛える必要がある筋肉のようなものです。

この記事では、コーディングに慣れていても、何をコーディングすればいいのかクリエイティブなアイディアが不足していることを前提としています。我々コーダーは、コーディングしたいという強い衝動はあっても、何を作ればいいのかというアイディアがないことがよくあります。この記事を参考にして、1ヶ月間ですべての課題をクリアしてみてください。

それでは早速、コーディングスキルを磨くためのコーディング課題をご紹介します。

##1. カスタマイズ可能なリッチテキストエディタ

リッチテキストエディタの目的は、フォーマットを有効なHTMLマークアップとして表現するときの労力を軽減することです。リッチテキストエディタは、ユーザーにテキストをフォーマットするためのオプションを提供します。

![](https://miro.medium.com/max/656/1*b9_m49V1RahexAT1k3j5YA.gif)
>カスタマイズ可能なリッチテキストエディタ（[チュートリアルのリンクはこちら](https://medium.com/better-programming/lets-build-a-customizable-rich-text-editor-with-slate-and-react-beefd5d441f2)）

誰もが一度は使ったことのあるリッチテキストエディタを、自分で作ってみませんか？

ここでは、最もよく使われているリッチテキストエディタをいくつか紹介します。リッチテキストエディタの作成方法に興味がある場合は、少し前に包括的なチュートリアルを書いたので、[そちら](https://medium.com/better-programming/lets-build-a-customizable-rich-text-editor-with-slate-and-react-beefd5d441f2)をご覧ください。

###学べること

-   段落、文、コードを有効なHTMLとしてフォーマットする方法
-   イベントを受信し、そのイベントに基づいてアクションを実行する方法
-   ユーザーアクセシビリティ（エディタのコントローラでキーボードを使用する方法など）

##2. CPUアクティビティモニタ

ハードウェアが好きな人には、これがお勧めです。Uno R3のような外部マザーボードを購入するか、可能であれば、ノートPCやデスクトップPCなど現在使用しているデバイスのCPU使用率を監視してみましょう。

![](https://miro.medium.com/max/700/1*G8iynFYiFcJ4zTlvv5bfug.png)
>Mac OSアクティビティモニタ

中央処理装置（CPU）は、すべての電子機器に不可欠です。言わばコンピュータの頭脳です。過負荷や過熱などが発生しないように、CPUの作業負荷を確認することが重要です。

###学べること

-   ArduinoプロトタイピングCPUに接続する方法（任意のCPU）
-   CやC++などの低レベルコードを記述する方法
-   CPUと通信し、すべての重要な情報を表示するユーザーインターフェースを構築する方法

##3. Apple Music クローン

音楽が嫌いな人はいないでしょう。自分で音楽プレーヤーを作成して、内部でどのように動作しているか理解してみませんか？最近の音楽ストリーミングサービスには、内部で多くのことが行われています。

![](https://miro.medium.com/max/700/1*JoM17VKSIoZXaB5KMtM2jQ.png)
>Apple Music

ウェブ版とデスクトップ版のどちらかを構築できます。あなたが最も魅力的だと思う方を選んでください。ウェブ開発のスキルを練習したい場合は、ウェブ版を作りましょう。ネイティブデスクトップアプリケーションを構築する練習をしたい場合は、デスクトップ版を作りましょう。

###学べること

-   Apple Music APIから曲を取得して再生する方法
-   一時停止、次の曲を再生、前の曲を再生する方法
-   音量変更を処理する方法
-   ラジオ、アルバム、曲の間でビューをナビゲートする方法
[Apple Music API](https://developer.apple.com/documentation/applemusicapi)はこちら。

##4. カレンダーアプリケーション

優れた開発者になるためには、日付についての知識が必要です。それなりに複雑なアプリケーションには、何らかの形で日付が関わってきます。自分でカレンダーを作成することは、タイムゾーンと日付の仕組みに慣れるための良い方法です。

![](https://miro.medium.com/max/700/1*OjksKJcUzw-z6nMkN56bOw.png)
>Appleカレンダー

好きなカレンダーを選んでください。GoogleとAppleのカレンダーは、どちらもきれいなUIなのでお勧めです。

###学べること

-   さまざまな日付やタイムゾーンに対応する方法
-   ユーザーが特定の時間帯にアクティビティを予約する方法
-   イベント開始時の通知やリマインダーを表示する

##5. GitHub リポジトリの表示とフィルタリング

GitHubでは、公開／非公開リポジトリの表示とフィルタリングができます。自分のバージョンを作成して、ポートフォリオを充実させましょう。GitHubには、[REST](https://developer.github.com/v3/) API と[GraphQL](https://developer.github.com/v4/) APIがあり、使い始められます。好きな方を選んでください。

![](https://miro.medium.com/max/700/1*PBk6dq8NLl1R0Gs1VUX72g.png)
>[GitHubリポジトリページ](https://github.com/indreklasn?utf8=%E2%9C%93&tab=repositories&q=&type=public&language=)

###学べること

-   GitHub API からリポジトリを取得する方法
-   キーワード、スター、プログラミング言語に基づいてリポジトリをフィルタリングする方法
-   HTMLでレイアウトを作成し、CSSで要素のスタイル設定／配置をする方法

##おわりに

読んでくれてありがとう！コーディングの上達には、努力が必要だということを忘れないでください。

**コーディングのアイディアをもっと探していますか？アイディアが尽きることはもう二度とありません。[私のフロントエンド課題がここにたくさんあります。](https://gumroad.com/l/IuqKc)**

できるだけ多くのアプリケーションを構築することは、コーディングを上達させるための最良の方法の1つです。

私の[ニュースレター](https://wholesomedev.substack.com/welcome)では、コンテンツの最新情報の通知を、いち早く受け取ることができます。ぜひ登録してください。

##翻訳協力

この記事は以下の方々のご協力により公開する事ができました。改めて感謝致します。

Original Author: [Trevor Indrek Lasn](https://trevorlasn.medium.com/) ([@trevorlasn](https://twitter.com/trevorlasn), <https://www.startupscrushing.com/>)
Original Article: [Need Inspiration? Here Are 5 Challenging App Ideas You Can Start Building Today](https://betterprogramming.pub/here-are-5-challenging-app-ideas-you-can-start-building-today-jan-2020-78cd4fb45996)
Thank you for letting us share your knowledge!

選定担当: @gracen
翻訳担当: @gracen
監査担当: -
公開担当: @gracen

##ご意見・ご感想をお待ちしております
今回の記事はいかがでしたか？
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。
頂いたお声は、今後の記事の質向上に役立たせて頂きますので、お気軽に
コメント欄にてご投稿ください。[Twitter](https://twitter.com/BabyDegu?lang=ja)でもご意見を受け付けております。
皆様のメッセージをお待ちしております。