Webアプリ開発について

Webアプリとは

端末にインストールする必要がなく、インターネットの回線で利用することができる。ブラウザー上で動作するアプリのことです。

 

Webアプリは内部で2つの領域から構成されています

クライアントサイド

ユーザーが手に触れて見ることができる領域

言語だとHTML、CSSJavaScriptなどが挙げられます。

エンジニアではフロントエンドエンジニアと呼ばれます。

サーバーサイド

ユーザーが普段見たり触れたり出来ない領域のこと

クライアントから求められた情報やデータを提供する側

言語ではRubyPythonPHPJavaなどが挙げられる。

エンジニアではサーバーサイドエンジニアと呼ばれます。

 

ネイティブアプリ

アプリ自体をスマホタブレットにインストールすることで端末上に動作するアプリ。App StoreGoogle Playなど挙げられる。

 

ハイブリットアプリ

Webアプリとネイティブアプリの特徴を兼ね備えたアプリのこと

 

Webアプリの開発フロー

1.企画の作成

目的/コンセプト/ターゲット/機能やアイディアの洗い出しなどをして作りたい企画を作成していく

2.スケッチの作成

文字だけではなく視覚的にも企画内容を把握するために作成

3.ワイヤーフレーム

:Webページのレイアウトを定める設計図。骨組み。

4.モックアップ

アプリや必要な機能やデザイン、動きなどの仕様が視覚的に分かる指示書

5.技術リサーチ

Webアプリの仕様が決まったら実際に開発に必要となる技術を調べる

 

オリジナルWebアプリの作り方

前提として「自分が好きなこと(詳しいこと)×既存のアプリやWebサイト=新しいアイディア」がオリジナルWebアプリの基本的な考え。

完全オリジナルはプロのエンジニアでも難しい。

オリジナルアプリ開発の工程は3つ

「企画→設計→開発」

企画

自分が好きなこと(詳しいこと)×既存のアプリやWebサイト=新しいアイディアが原点

リーンキャンバスという方法がおすすめ

リーンキャンバスとはビジネスモデルを1枚の図に落とし込んだビジネスモデルキャンバスと呼ばれるもの

1.顧客セグメント→ターゲット

2.課題→ターゲットの抱えている課題を洗い出す

3.独自の価値提案→既存のアプリに対する差別化や独自の価値を生み出す

4.解決策→独自の価値提案に対する解決策を書き出す

5.チャネル→開発したアプリをどんな手段でユーザーに知ってもらうか。広告方法。

6.収益化の流れ→どのくらいの収益化を見込めるか

7.コスト構造→コストはどれくらい掛かるか

8.主要指標↓

KGI:ビジネスの最終目標を定量的に評価できる指標

KPI:目標達成(KGI)達成のためプロセスが適切い行われているか

9.圧倒的な優位性→競合アプリが簡単に真似できないような要素を考える

 

設定

ワイヤーフレームを行い、アプリ全体像を見える化する。何度も書き直し、必要ならば他のアプリを真似ていく

開発

ワイヤーフレームで書かれた内容を一つずつ設計していく

プログラミングを始める前に必要な知識

これから先の未来ではプログラミングが必要なAI時代になります。

 

プログラミングとは

コンピューターに指示を書くことです。

入力→処理→出力を与えることでコンピューターを思い通りに動かすことができます。

入力:コンピューターが受け取る情報

処理:受け取った情報をもとに行われる動作

出力:処理を行った結果

ビジネススキルとして汎用性があるのが〇〇

プログラミングはビジネススキルとしても高い効力を持っています。

その理由は「プログラミング的思考」と呼ばれるから

プログラミング的思考とは物事を考える時にその物事の動作や順序を理解して、効率的に意図した動作や結果を導くための論理的思考

そのため、他者の意思を汲み取ることができたり、問題解決能力を養うこともできます。

 

プログラミング言語とは

プログラミング言語200種類以上存在する。

その理由は4つ

1.向き不向きがある

2.誰でも言語を生み出される

3.技術進歩への探究心がある

4.プログラミング言語を1つにするのが現実的ではないから

が挙げられる。

 

代表的な言語は以下の通り

Python

Ruby

Java

C言語

C#

JavaScript

PHP

・Swift

 

ライブラリーとフレームワークの違い

ライブラリーとは部品でありよく使われる機能を集めてひとまとめにする。他の人のコードを利用、改造することが出来て自由度が高い

 

フレームワークとは枠組みでありよく使われる一連の機能をひとまとめにすること。アプリやサービスを開発する際に土台として使い、開発効率を上げることができる