DAVID J.マラン:だから我々は戻っています。 だから、高レベル 現時点では今話題 ない技術・スタックであり、 特に専門用語、 それは任意のためにすべての漁獲の多くはで 技術の組み合わせの数 あなたが問題を解決するために使用する可能性があること。 そしておそらく最も 開始するにはフィッティング方法 以降の言語で見ることであろう 私は全体の束をオフに威嚇保ちます そして部屋の中で最も誰もが持っています おそらく、少なくとも一つのことを聞きました。 だから、我々は区別しようとしない理由 これらの言語を区別するwhat-- ときにあなたが希望とについて簡潔に話します 彼らがしているか、他の上で1つを選択 ソートの基本的 異なる、特に あなたはエンジニアとチャットしているとき、 または、誰を雇うことを決定しよう またはどのような実装 グリーンライトする提案、 あなたが実際に作るだろうか 意思決定のそれらの種類。 それでは、ちょうどいくつかのことをオフにガラガラしましょう​​。 人々が持つ言語の 聞いた、何が頭に浮かぶ? C. [OK]をクリックします。 [OK]、C ++。 あれは何でしょう? AUDIENCE:Pythonの。 DAVID J.マラン:Pythonの。 優れた。 ほかに何か? Visual Basicの。 私は、Javaを聞きました。 ビジュアルBasic--別名 VB。 Javaの。 すべての漁獲量の多いです.NET、 C#は言語として、通常、何のために 質問インチ そして、私はそれを言及してみましょう。 だから我々は戻ってそれに来ます。 ごめんなさい? ごめんなさい? AUDIENCE:SQL。 DAVID J.マラン:スクラッチ? AUDIENCE:SQL。 DAVID J.マラン:ああ、SQL。 OK。 SQL。 だから我々は、実際にthat--に戻ってきます それは同様にブレーク後good--です。 ほかに何か? AUDIENCE:オラクル。 DAVID J.マラン:だから Oracleのではなく、言語。 実際に彼らは同様にSQLを使用します。 それでは、後にそれを入れてみましょう 同様にブレーク。 そして、申し訳ありませんが、こっち何か? AUDIENCE:Mathematicaの。 DAVID J.マラン:Mathematicaの? 確認し、[OK]をクリックします。 そして、MATLABは、の一種であります そこに時々。 AUDIENCE:R. DAVID J.マラン:R.はのは、こっちに行ってみましょう。 Fortranの。 確かに。 古い学校。 Fortranの。 COBOL。 私はBASICを放り出すだろう。 BASIC。 どれか - AUDIENCE:MATLAB? DAVID J.マラン:MATLAB。 ああ、あなたはそれを破りました。 何か? 私は他人のカップルを考えることができます。 私はいくつか他の人の考えることができます。 そして、最後に何でしたか? AUDIENCE:ASP。 DAVID J.マラン:ASP? うん。 アクティブサーバーページ。 それは一般的に下に落ちます 他の言語、時にはC#の、 それでは、それをオフのままにしましょう​​。 しかし、我々はそれに戻ってきます フレームワークなどのため。 他に何か? PHPは人気があります。 Rubyは別です。 JavaScriptを、混同しないように Javaを使用し、別のです。 それはたくさんのようなものです。 だから、それは確かに圧倒的なことができ、 リストが存在しない場合のように、 ちょうどあなたが始める場所を知るために開始します。 そしてそう幸いにも、してみましょう いくつかの角度からこの近づきます。 まずは、分類してみましょう これらの言語のうちの少なくともいくつか を連想させる二つの大きなバケツ、へ 私たちは休憩前に持っていた会話、 ここで我々は、コンパイルについて話しました ソースコード、機械コード、 それはどのようにではありませんので、 すべての言語で動作します。 だから我々はいくつかの例を引き抜きますよof-- またはそのモデルにカウンターexamples--。 そして、なぜ我々はしないでください アプリケーションについて話します これらの言語その 一般的に使用されます。 そして、率直に言って、たとえ これは、かなり長いリストであります それは、このリストのサブセットだけだという あなたは、一般的に、これらの日から引きます 問題を解決します。 特定の言語が他のものより新しいです。 特定の言語があります 他のものよりも人気。 だから、あなたがそのような持っているようではありません あなたの前に圧倒的なタスク 間で決定するとき これらのさまざまな言語。 それでは、これを実行しましょう​​。 我々は、以前に、ソースコードを持っていました し、我々はマシンコードを持っていました。 おっと。 間違った単語を書きます。 マシンコード。 そして、我々は中にいくつかのプロセスを持っていました 真ん中は、ええコンパイラをcalled--。 だからコンパイラ。 そして、何のマシンコード 実際に最後に上に実行されます あなたの実際のCPUになるだろう。 つまり、マシンコードによって、I 最低レベルの命令を意味します CPUは、実際には理解していること。 加算、減算、移動、 保存し、そのような操作。 そして、これは何のためのモデルであります 一般的にコンパイル言語として知られています。 おそらく、驚くべきことではありません。 だから、これはモデルであり、 コンパイル言語用。 しかし、それはそこのが判明します 言語の別のクラス 解釈と呼ばれますlanguages​​-- 解釈languages​​-- それは若干異なります。 あなたが実行し、ソースコードで書きます 通訳を介してそれらを、 そのインタプリタです 何がCPU上で実行されます。 言い換えれば、あなたは何をしないでください EMITは明らかに、何ですか? マシンコード。 CPUその0と1 それ自体は最終的に理解しています。 したがって、この最初のバージョンでと Cなどの言語、私達が見たように、 あなたがソースコードで書きます それは少し難解です、 しかし、少なくともそれは、英語のようなのようなものです それは、少なくとも読み取り可能な 一度あなたがそれに慣れます。 あなたはコンパイラとアウトを介して実行します あなたは、最終的には、0と1を取得します。 単純化し過ぎています。 そこに他のいくつかのステップがあります。 実際には、あなたが今まで聞いた場合 用語「アセンブリ言語」 それは、前に一歩です 0と1。 、少し読みやすくそれ それでもかなり難解。 そのため、中間のステップがあります それは、実際には、ここで起こっています。 しかし、出力、最終的に、 これらの0と1です。 しかし、解釈 あなたが持っている世界では、 解釈されている言語 言語は、あなたが実際にそのステップをスキップします。 言い換えれば、ときにあなたが書きます プログラムは、あなただけのそれをすぐに実行します。 あなたはそれをコンパイルしないと 私が前に行ったように、その後、それを実行します。 あなたはそれを書いて、それを実行します。 そして、あなたは迅速な変更を行う場合は、 あなたは、迅速な変更を行い、それを再実行してください。 だからここには中段はありません。 今、プログラムのために私が以前に書きました、 これは、この「Hello World」のプログラムでした あなたは合理的かもしれません wonder--または合理的かもしれません それはその時ではなかったですstate-- 私のプログラムをコンパイルするために消費します。 ちょうどそのようにそれを行っているようです。 そして、グラフィカルがあります コンパイラのバージョン。 私は、非常に難解なバージョンを使用しています しかし、あなたは、再生ボタンを打つことができ それは実際に行うことになります あなたのためにコンパイル。 私は、プログラムをコンパイルしました 再び、それを実行するために、私はちょうどこれを行います。 そして、それは、そこに左に出力し、「こんにちは!」 それはすべてのことが不利いないようです。 しかし、あなたのプログラムがある場合 ひとつ以上の、2つ、3つ、 4、5行の長、それがすることができます コンパイルにはるか秒かかります。 時には分 かなりの時間をコンパイルします。 すべての後、いくつかの 世界最大の製品 オペレーティングシステムのようなものがあり、 Microsoft Wordの、Microsoft Excelの、 数十万人であるかもしれません または、長い行のコードであっても、何百万、 そしてそれらはちょうどありません すぐに実行されます。 また、ウェブ上で、それはです 使用するファッショナブルになります 単に言語を解釈し、 部分的にはあなたのために 開発者として変更を行うことができます そしてその後、ちょうどすぐにリロード ブラウザページと すぐに結果を参照してください。 それでHTML、一方ではありません プログラミング言語 解釈の言語です。 そして、我々は昨日、同じ効果を見ました。 あなただけの作った後のページをリロード Cloud9の変化and-- voila-- あなたは新しい結果を参照してください。 だから、ここでの違いは何ですか? HTML、リコールでは、我々はオープンなHTMLを持っていました、 オープンヘッド、オープンタイトル、クローズタイトル、 クローズヘッド、オープンボディなど。 私たちは、これらのタグのすべてを持っていた、我々はかなり 多くは何をすべきかをブラウザに伝える、と述べました。 ねえ、ブラウザ、ここでHTMLページが付属しています。 ブラウザねえ、ここにタイトルが付いています。 ブラウザねえ、ここに来ていくつかの 大胆でなければならないテキスト。 そして、あなたは反対のことを言います。 ブラウザねえ、それはそれです 太字テキストの。 ねえ、それは体のためにブラウザです。 など。 そのため、ブラウザは何ですか? ブラウザだけでインタプリタです。 それは誰かのようなことをするプログラムです マイクロソフトやGoogleが書かれています、 その目的は生活の中にあります HTMLとして知られている言語を、読んで、 それを解釈します。 上から下、左から右へ。 そして、任意の時間は、ブラウザが開いて見ています ブラケット、タイトル、閉じ括弧、 それはそれを解釈する必要があります 意味として、ああ、その 私は道これらの単語を置く必要があることを意味 ここでは、ブラウザの上部にアップ。 だから、ちょうどHTMLコードが言うことありません。 しかし、誰0と1はありません。 何のコンパイルはありません。 あなたはそれをしませんでした。 ブラウザはそれをしませんでした。 それだけでは関与していないのです。 これらの継続的なの精神でそう トピック、今日と昨日、 それは素晴らしい機能のようです。 次に、あなたのコードを保存し、 ちょうどそれを実行したり、それを解釈します。 中間のステップはありません。 確かにコストはありますか? すべての五分五分ことはできません。 だからコストは何でしょうか? AUDIENCE:スペース。 DAVID J.マラン:スペース。 だから、確認してください。 コンパイルされた世界では、あなたが持っています 元のソースコードだけでなく、 あなたも作成していると その後、おそらく保存 マシンはcode-- 零点とones--、それはです スペースのいくつかの量を取るようになりました。 絶対に。 だから、それはあなたのより多くのスペースを原価計算です。 ええ? AUDIENCE:ブラウザかもしれません 異なった解釈。 DAVID J.マラン:ブラウザかもしれません それを異なって解釈します。 それは本当です。 しかし、私は私はわからないんだけど 主張快適 それは解釈だためです。 それはそれはちょうどので、それ以上です 言語の実装 それ自体が曖昧さを有します。 それでは、非常に確認しないようにしましょう その1が、良い予感。 価格は他に何が支払われるのでしょうか? アンドリュー? 観客:あなたが組み合わせています 2段階なので、したがって、あなた 同様に複雑さを増すことがあります。 DAVID J.マラン:complex-- 複雑化? 誰のため? 聴衆:だから、インタプリタで ステップ、あなたは通訳を組み合わせています そしてちょうど至るまでのコンパイラto-- DAVID J.マラン:ああ、[OK]をクリックします。 皮肉なことに、それはおそらく少しです インタプリタを実装する単純な、 それはように思われるにもかかわらず、 この利便性の良い面が得られます。 だから、おそらく真。 しかし、それは一種の私が、依存します 言語に、と言うでしょう 彼らが行った方法について それを実装について。 より多くの複雑さが存在することができ、 実際に、コンパイラで、 あなたがから行かなければならないという理由だけで 何かに何か非常に高いレベル 非常に低いレベル。 しかし、よく考え。 だから、別の言い方を、コンパイルされたプログラム、 これらの0と1になったときに、 言語で終わります CPUは話すこと、 のこちら側で、一方、 世界では、あなたが書いたプログラム、 あなたが書いたコード、決して実際に 実際の言語に変換されます コンピュータは話します。 0と1。 これは、元、より人間にとどまります 優しい、より読みやすい言語です。 だから何が含意であるかもしれません そこに、あなたがない場合は、実際に 変換わざわざあなた 非常に言語へのプログラム 根底にあるコンピュータが話していますか? AUDIENCE:ない可能性があります 何かを理解できますか? DAVID J.マラン:マイト 何かを理解していません。 そしてそれはclaim--あり それは理解していなかった場合 何かが、それはバグや不足です インタプリタでいます。 だから、より多くのだろう コストよりも間違い。 観客:あなたがアクセス権を持っています ソースコードへ? DAVID J.マラン:良いものがあります。 だからここの欠点は、あなたがあります アクセス権を持っているように思われます。 あなたは、エンドユーザは、に見えるかもしれません ソースコードへのアクセス権を持っています。 そして、それは必ずしも真実ではありません。 しかし、それはで真であります JavaScriptの場合、 私たちは後を見て​​みましょうします ブレーク今日、どの 解釈されたプログラミング言語であります あなたがソースコードで記述しています。 しかし、そのソースコードが転送されます サーバーからブラウザへ そして人間のブラウザで実行されます。 だからここに彼女はちょうど開くことができます 窓、私はChromeで行ってきたように、 そして私たち自身のように、それを見て グーグルで昨日ちらっと見。 それは少し見えるかもしれません 不可解なそれがあります。 だから、絶対に支払わ1の価格です。 AUDIENCE:パフォーマンスヒット? DAVID J.マラン:うん。 そして、それは他のとても重要です。 パフォーマンスヒットがあります。 あなたはこれを持っているので、 真ん中の男、それ自体 プログラムはあなたの間で、あります そして、は対照的に、CPU、 ただ、これらの生を供給します CPUへの0と1、 あなたのパフォーマンスに影響があります インタプリタ型言語で取ります。 その結果、任意に、プログラム それは1秒かかる場合があります コンピュータまたは1で実行するには ここでは、コンピュータ上で実行する分、 10秒または10を取る可能性があります ここでは、コンピュータ上で実行するための分。 一般的ということではないだろう 10--のdifference--要因の多く ありますので、 あなたが行うことができます最適化。 しかし、それはほとんど常に遅くなります。 その懸念に今、フリップサイド 、そのコンピュータだけでなく、すべての12です 18 months--に記載 そうspeak--するムーアの法則、 ただ速くなっています。 私はより多くのディスク容量を持っています。 私はより多くのRAMを持っています。 誰が本当に気に? そして、それはのようなものです 合理的な引数。 確かに、理由の一つ 我々は遅い容認できる理由 言語を解釈しているためであります 私たち人間は本当に気づきません。 コンピュータが持っています ちょうどそうくそ速い頂いております。 一方戻って一日で、特に ハードウェアは、はるかに拘束されたとき、 あなたはすべてのあまりを持っていました、 それははるかに高価でした そう、すべてはよくして、より多くの費用がかかります あなたは本当に絞り出すたかったです あなたはできる限りのパフォーマンス。 しかし、それはでの書き込みに必要な 低レベル、可能ならば、 コンパイル言語で。 だから、このパフォーマンスヒットを取りますか。 しかし、一般的に、五分五分 このごろそれだけの価値があるように見えます。 除いて、まあ 知的財産の問題。 読みやすさのその種 コー​​ドの、我々​​はよ 我々はJavaScriptのを見たときに戻ってきます。 それでは、分類してみましょう これらの少なくとも数。 だから、コンパイル言語の中で、我々 ちょっとC、C ++、みかん、Javaの、持っているだろう それがために、例外のビットだが、 理由は私は一瞬であなたを紹介します。 C#のは、このリストになります。 私達はちょうどでより多くのを見てみましょう より近代的な言語。 大丈夫。 そして、それはたくさんのように思えます。 フェンスのこちら側のに対し、 我々は、JavaScript、およびPythonを持っている可能性があります そして、PHP、およびRubyの。 そして、のそれで十分です より最近のもの? それは今のところたくさんのように感じています。 OK。 そして、ドットドットドット、 以来、リストは無限大です。 そして実際に、私たちはしたい場合 this--ウィキペディアの感覚を得ます、 コンパイルされた言語。 私たちは得ることができます推測しています はるかに網羅したリスト。 だからここに私達は行きます。 そこでここでは、はるかに網羅したリストです。 そして、私は誰かがDを推測する期待していました それはあまりにも存在するための言語として、 しかし、彼らはそれが思わDで停止しました。 実際E.があるかもしれませんが、 ああ、実際には、これはすべき リストにこれらの日です。 スウィフトは、実際にあります Appleが発明した言語 それは今、ますます、使用されています そう、iPhone開発インチ しかし、我々は戻ってくるだろう 我々の議論とのこと ほんの少しでモバイルのも同様。 だからスウィフトも同様。 そして、我々は、に行く場合 解釈language-- language--その後、ここに解釈 同様に、さらに長いリスト。 だから、あなただけのGoogleと場合 これらのためにWikipediaで見て、 あなたは言語のすべての種類が表示されます。 しかし、目的は、あります 今日は本当に、ちょうど 多分これに沸きます 知的財産の問題 およびエンドユーザによるとに読みやすさ 性能は、同様に別のとても重要です。 これらの言語のうち、だから、 私たちはあなたを与えることができるなら、私は見てみましょう 言語のほんのいくつかのサンプル。 我々はを通過する必要はありません 際限なくすべての言語。 あなたは今まで疑問に思っているものをA 特定の言語は次のようになりますか? 私たちは、少し前見ました。 なぜ私たちはカップルを取ることはありません 機能要求の。 誰が何を見てみたいです 他の言語は次のようになりますか? うん。 AUDIENCE:Javaの。 DAVID J.マラン:Javaの。 大丈夫。 それでは、Javaへ行ってみましょう。 そして、ちょうどあなたにsample--を与えるために 我々は、これらすべてを書き出すことができ、 それは速いだけになるだろう 誰か他の人のサンプルコードを見てください。 大丈夫。 だから、これは良い例でしょうか? おっと。 OK。 だからここのJavaバージョンです プログラムは、私は、以前の「Hello World」を書きました だから、Javaの、あなたが頻繁によ キーワード「クラス」を参照してください。 その後、その後、いくつかの名前が表示されます。 あなたは、中括弧が表示されます 私たちは前に見たように、 時には、彼らは上に行きます 同じライン、時には他のライン、 それは個人的な意思決定のようなものです。 あなたのようなキーワードが表示されます 「パブリック」、「静的」、「無効」。 しかし、私たちは「主」を参照してくださいました 「メイン」は、一般に デフォルトの関数の名前 またはコードのデフォルトのチャンクは、 プログラムで実行されます。 「文字列」。 我々は、以前の文字列で何を意味するのですか? 私は一種のさりげなくそれを使用していました。 文字列は何ですか? 単語。 これは、文字のシーケンスのようなものです。 個々の文字、バックに バック、通常の配列で、背中に、 我々が議論してきたように。 そして、実際には、この構文を参照してください。 ここでは、2角括弧? ここではその手段、ちょっとコンピュータ、 文字列の配列が付属しています。 角括弧表記はあります 一般的にそれを示すために使用されます。 そして、あなたはおそらくすることができます 何guess--を取ります これは、強調表示されません コー​​ドの塊は、おそらくのですか? AUDIENCE:出力? DAVID J.マラン:うん。 これは、画面に何かを出力します。 だから、「システム」の一種であります お使いのコンピュータへの参照。 「アウト」は、コンピュータの意味します 出力または画面。 だから「system.out.print LNは「おそらく意味しますか? 「LN。」 以下のようなプリントラインはプログラマ 明らかにいくつかの単語を綴るします それらの全体と取ります 他の単語とのショートカット。 しかし、「LN」はラインなので、印刷ラインです。 だから、こんにちは」プリントアウト 世界! "新しい行が続きます。 だから、それはそれです。 しかし、Javaは、彼らがよです 呼び出しオブジェクト指向。 そして実際、ちょうど与えるために 他の定義のカップル そこにあなたがかもしれません そこに、一般的には、参照してください。 多くの異なる種類があります 言語が、最も一般的な 手順または命令型言語です。 機能があります。 ない言語、 他の人が非機能的であることを意味します。 そしてあります オブジェクト指向言語。 そして、これはおそらく最高です ほとんどの言語の分類 あなたは今までの並べ替えのために選択するであろうこと 典型的な商業プロジェクトの。 これは、あまりにも多くのだろう 私はラットの穴を、考えます 説明しようとするために、ダウンして行くために 様々な違い。 しかし、言語 私たちは、このようにfar-- Cを見てきました 手順またはであります 命令型言語。 さらに最近考案 言語は申し訳ありません、になる傾向があり、 オブジェクト指向、その手段 彼らはそれらに他の機能を持っています。 私はこの方法でそれを説明できますか? のがあってもそこにダウンしないようにしましょう​​。 オブジェクト指向手段 あなたがimplement--することができます あなたは現実の世界をモデル化することができます もう少し効果的。 人類、時間をかけて、 うわー、考え出しました、 私の言語ならば、それはいいだろう この機能またはその機能を持っていました。 そして、私たちはそのように持っている理由です 世界の多くの言語。 合理的な人々、スマート 人々は、同意するか反対します そして、常にソートの上に一緒に来て すべて一緒に新しい言語を開発。 適例。 Appleがでスウィフトを発明しました おそらく低下の期待 iPhone開発にバー、 以前language--理由 可能性のObjective-Cと呼ばれます また、私たちのリスト上にありますhere-- はるかに難解なとずっとでした 周りの人の心をラップしにくいです。 そして、プログラミングのように間違いなくなってきています より広く、よりアクセスし、 でも人によって採用されました 以下の技術、goal-- それはしようとする非常に勇敢な目標です 行うことで、参入障壁を下げます 言語そのもの を始めるしやすく、 しかし劣らず強力な必然。 そして、もう一つ他の言語。 なぜ私たちは見ていません Pythonのようなもので、 その流行に非常に多く、これらの日です。 Pythonの。 サンプルプログラム。 どれどれ。 「Hello World」の言語。 これをやろう。 "こんにちは世界。" これは与えどうかを見てみましょう 私たちの素晴らしい例。 OK。 だから、これは実際に楽しいの一種です。 あなたがこれまでグーグルのであれば 「Hello Worldの、「その 最初のプログラムの一つであることを起こります これまで近代的な言語で書かれました、 ちょうど概念の証明として、あなたが見ることができます このの実装のすべての種類。 これらの言語の一部 私ものことを聞いていませんでした。 しかし、あなたがのが基本に手放すsee--ことができ、 私は部分的には、数年前に学んだ1。 これはあなたのための楽しい言語でした 、プログラマーとして、数に持っていました あなたのすべての行。 ではない私が何であったかとは異なり、 私が書いていたときにやって 黄色の文書上の擬似コード 以前のバイナリサーチのため、 電話帳を検索します。 だから、あなたが望んでいた場合 別の行に移動するには、 あなたは文字通り入力し、 10に行く、または20にアクセスしてください。 そして、あなたが行、書いている場合 大会が何をした、これはライン10です、 これは、ライン20で、これはラインであります 30、40、間に何もないと、 それによって、自分自身にいくつかの部屋を与えて あなたが決める場合は、ちょっと待って、 私はいくつかを追加している必要があります どこかでより多くのコード。 あなたはまだ9チャンスへの並べ替えを持っていました あなたのプログラムの間にそれをで絞ります 手動に持っていた前に、 すべての番号を変更。 だから、これは私が何を意味するかの一種であります 私は世界が来ていると言うとき、 新しい機能を持ちます。 どこかの方法誰かに沿って これはばかげている少年、実現しました。 これは単に作成されます プログラマのために働きます。 そこで彼または彼女はちょうど種類の内蔵します その上に新しい層 あなたが心配する必要はありませんように 何行番号コードについて 実際にオンになっています。 だから、あなたが選択した可能性がある場合 一つの言語または別の? まあ、これは、これらの 言語あなたは傾向があります 最も聞きします あなた自身の世界、これらの日? のは、あまりにもObjective-Cのドロップダウンしてみましょう。 AUDIENCE:C#の。 DAVID J.マラン:C#の。 だから、私は色みましょう。 私たちはどこかで私たちの他の色を持っていますか? だから、C#の。 そして、あなたは、C#について何を知っていますか? 春ものは気にしますか? 観客:それはプログラミング言語です。 DAVID J.マラン:それは プログラミング言語。 OK。 それは本当です。 だから我々は、C#の話をしています。 C#がで使用される傾向にあります Windows環境、 あなたは、Microsoftのソフトウェアを書いている場合 Windows用の、C#は非常に一般的に使用され、 それは、デスクトップソフトウェアのためだかどうか、または Windowsの携帯電話上でも電話のソフトウェア、 あなたがそれらを持っていた場合、 またはウェブ上であっても、あまりにも。 そして、実際には、多分カリーム 以前のASPに言及? したがって、これらもあります フレームワークと呼ばれるもの、 これは我々が拡張することによって導入することができます。 ASPのようなフレームワーク、。 アクティブサーバーページを意味します。 そして、これはコードとあります プログラミングの方法 それは一般的に、それが容易になります Webベースのアプリケーションを作成します。 言い換えれば、それは、超であろう ウェブサイトを書くことが超迷惑 その言語Cで 我々は前に見てきました、 あなたが印刷+ Fを使用する必要があるため、 あなたがそのキーワードを使用する必要があります 「メイン」と中括弧。 難解な構文の多く そして、アプローチが実装します かなり複雑である何か。 Webページ。 そのため、他の言語が進化してきました そういうことを容​​易にします。 そして今度は、人々が出ています フレームワーク、ツールの一種で あなたはそれを作ることを使用できること Webページを記述することも簡単。 だから例えば、作るために このはるかに具体的な、 私はちょうど開いてみましょう 瞬間のためのテキストフ​​ァイル。 そして、あなたは昨日思い出すかもしれません 私たちは何かを言っていること 以下のように、これはウェブページです。 HTML。 閉じるHTML。 私は頭を飛ばしてみようと ちょうどここに本文を行います。 私が望んでいたと仮定 書かないでの "Hello World" ダビデはあるが、「こんにちはデビッド、 " 現在ログインしているユーザーの名前。 どのようなもの ASPが行う、またはJSP--ます これはJavaサーバpages--ですか 他のフレームワークの任意の数 彼らはそれ自体、言語じゃないです。 彼らはただのようにしています そのあなたの追加のソフトウェア お使いの環境にインストールします それはちょうどそれが簡単にプログラムすることを可能にします。 例えばだからではなく、しなければなりません 「こんにちは、printfの( "デビッド")」のようなもの か何かそのの 一種の共同mingling-- 私たちが見てきたコードの種類before-- あなたは、はるかに簡単な何かをするだろう、 「名%。 "のような そしてそう、これらのフレームワーク、 ASP--と私のような 私が得ている場合は覚えていません ASPのためのちょうど右の構文。 JSPはlittle--がこの権利ですか? ASPとなるように、これはあります 特別な構文の一種 いくつかの開発者が決定したことを これは人々を助けるかもしれません。 そして、私はより簡潔に表現することができます インスタンスのプレースホルダ、。 同様に、ここで、どこに価値を置きます この値の名前は、N-A-M-Eではありません それはそこに格納されているいくつかの値です。 したがって、この文脈での「名前」、 我々は変数を呼び出します。 代数は、変数を持っています xおよびy及びz等。 プログラマは、変数を使用します x、y及びzよりもより記述、 一般的に。 だから、「名前」は、文字通りいくつかの種類になります 以下のようなもののためのメモリコンテナの D-A-V-I-D、私の名前、または誰のために 他のウェブサイトにログインしています。 そして、これは利便性の一種であります あなたは、特定の環境で取得します。 だから、ASPのようなC#と何かが非常だろう 一般的に、Windowsの世界で使用され、 そのデスクトップ用か ソフトウェアまたはWebサーバー、 あなたのサーバーが順番にされている場合は特に マイクロソフトWindowsおよびMicrosoftを実行しています IIS--またはインターネットインフォメーション サーバー、私は頭字語を取得する場合right-- これは、MicrosoftのWebサーバです。 だから何他の言語を に精通して人々は、 または、あなたは聞いたことがあります 少なからず? 聴衆:私は、Pythonのことを知っています [聞こえない]人気の一種。 DAVID J.マラン:非常に人気。 そこでここではPythonは非常に頻繁に使用されています 科学アプリケーションやデータで あなたは多くを持っている科学、 あなたが分析するデータの あなたが使用したいです それのためのプログラミング言語。 Rは、一般的に、そのために使用されるかもしれません 同様に、統計的な文脈インチ しかし、Pythonは非常に多くのを持っています 機能が組み込まれています。 だから、多くの追加 人々が言うようにライブラリ。 図書館は、単にコレクションです コー​​ドのそのほかの人々 あなたがそうあなたことを使用できることを書きました これらの車輪を再発明する必要はありません。 それでPythonは非常に一般的です データ科学用途に使用されます。 しかし、それは非常に一般的にもです Webアプリケーションで使用されます。 あなたは、動的に実装することができます Pythonを使用してウェブサイト。 そして、動的ウェブサイトによって、I 単に静的ではないコンテンツを意味します 我々はによって、昨日の作成のように ちょうどハードラテン語のテキストでのコーディング およびその他のようなもの、 しかし、能力ではなく ログインするために、能力が購入します 何か、チェックアウトする能力 あなたのショッピングカート、などと。 それはすべて、ダイナミズムとあなたを必要とします これらのいずれかのようないくつかの言語を必要としています。 AUDIENCE:だからPythonには、独自のを持っていません 好きなのに同様の拡張、[聞こえません] DAVID J.マラン:それはありません。 だからPythonの、ジャンゴの世界であります Python用の非常に人気のフレームワーク。 WSGIだ別のメカニズムであります この異なるの並べ替え しかし、精神面で似ています。 それはあなたがアドオンことができます サーバー上のPythonコードを実行します。 ええother--あります。 したがって、これらは、我々はフレームワークを呼び出します。 そして、それは虐待の少しです。 これは、Webサーバ技術の以上です。 しかし、我々はそれをシンプルに保つと出してあげます それもかかわらず、この列インチ OK。 WSGI。 WSGI。 別のthing--実際、みましょう 私は、独自の列にそれを移動し、 私は自分自身で叫ぶ。なぜなら 同じバケツに入れます。 のは、サーバーにこれを入れてみましょう 機能、の言わせて。 それは技術的な用語ではありません。 そこでここではWSGIかもしれません。 古いであるCGIは、あります 言語を提供するための技術 PerlやPHP、またはいくつかの他のような。 繰り返しますが、私はこれらの用語を述べました ソートのそれらを深く根付いたことが山ほどではありません、 しかし、あなたがいることを見れば 彼らは何か あなたは、単により多くを読むためにグーグル。 本当のジュースはありません これらの事のいくつかに。 しかし、ここでは、言語に戻りましょう。 私たちは、C#、Pythonのについて話しました。 あなたは他に何を使用する場合があります ウェブは、これらの日のプログラミング? のは、そのまだに焦点を当ててみましょう。 AUDIENCE:PHP。 DAVID J.マラン:PHP。 とのはその1に戻ってきましょう。 そうPHPは、非常に一般的に使用されます。 PHPは、いわれのない非難を取得する傾向があります。 これは、実装言語としてスタート 多分必ずしもなかった人々によって、 最高の言語設計者。 そして、あなたはのすべての種類を読み取ることができます PHPがどのように悪いについてのオンライン記事。 残念ながら、これは 症状、部分的には、 ただ宗教的な議論の それはプログラマーの間で噴火します。 そして、これは何かであります 心に留めておく価値、 ビジネスの観点から、その それは技術的な人々のために非常に簡単です すべては自分で後処理を取得します 特定の事柄についての意見。 そして、それは必ずしも意味するものではありません 1は最大音量叫んでいること または最強と、 angriest意見は正しいです。 多くの時間、それは本当に ただ問題ではありません。 だから人々は何でも主張されています 独自のバイアスや快適ゾーンがあります。 そして、あなたは維持する必要があります 作るときにこのことを念頭に置いて 決定、ちょうどその 誰かが言うので、 これは、のために適切な言語であります 真のかもしれない仕事、 それはまた、ちょうどそれがあるかもしれません 自分のスキル内で適切な言語 セットや快適ゾーン。 これは悪いことではありませんが、あなたは認識すべきです そこにいくつかの状況があるかもしれません。 いくつかの客観あります 間違った文、 Cは、使用する間違った言語であるように ウェブサイトを実装するため、これらの日 ほとんどいつも。 しかし、それは不合理ではないのです これらのいずれかと言うこと 我々はこれまでに丸で囲まれていることを間違っています。 PHPは多くのバージョンを経験してきました。 だから言語バージョンを持っている傾向があります それらに関連付けられている数字。 PHPは、今、私が思うに、最大​​バージョン7であります それはかなりの時間を回避されています。 そして言語は、新しい取るにつれて 彼らはしばしば、新しい機能を得ます。 しかし、あなたはこれを留意する必要があり あなたのウェブサイトがあった場合のため PHPのバージョン7に実装されたが あなたは、あなたのウェブサイトを実行しようとしています または多分あなたは外注してきました あなたのコードの開発 他の誰かに、彼らは郵送 あなたにそれか、あなたにそれを送信 そして、彼らは入れて、ここで言います このWebサーバー上で、 Webサーバーは、いくつかある場合 それはだかどうかoutdated--年 独自のサーバーまたはWeb host-- それが実際に実行されない場合があります。 したがって、これらは種類があります 物事の誰か に留意する必要があります サイトをアップグレードするとき 初めての場合は、それを実装します。 私は以前にJavaScriptを聞きました。 だから、JavaScriptは面白いです その内の1つは、それが一般的です 我々が表示されますよう、クライアント側、 休憩の後、その それがユーザーのブラウザで実行されますことを意味します。 しかし、あなたはまた、実行することができます JavaScriptのこれらの日 呼ばれるものを使用して、 Node.jsの、Node.jsの ランニングのための機構であり、 JavaScriptコードサーバ側、 代わりにPythonを使用しての、または PHP、又は他のそのような言語。 JavaScriptが特に適しています チャットアプリケーションとリアルタイムのために アプリケーション、PHPは素晴らしいではありません一方、 何かを実装するための言語 チャットサーバ、ユーザー様 常にそれに接続されたままです。 PHPは、私を訪れるの詳細です 一度、結果を取り戻します、 そしてその後、別のリンクをクリックして、いくつかの 今から数秒または数分。 Node.jsのとJavaScriptをすることができ、一方、 永続的な接続のためのより多くの使用。 あなたが疑われるその他の言語 一般的に、ウェブもののために使用されていますか? 観客:jQueryのフレームワークだろうか? DAVID J.マラン:良い質問。 どちらでもありません。 私は、ライブラリ、jQueryのを呼び出します 再びライブラリーは、コードのちょうど束であります 他の誰かが持っていること ことは、一般的に書かれました いくつかの問題を解決すること 簡単に、うまくいけば、それを作ります あなたのために仕事をします。 そして、私は、の一例をやらせます ウェブの文脈でこの。 ウェブの文脈ではあります この言語は、JavaScript、 我々は後で見ること、それによってあなた this--のようなものを言うかもしれません "のdocument.getElementById。」 そして、私はそれが昨日何を呼ぶのですか? まず、私が思うに、私が与えた固有のIDました このように見えた要素へ。 最初の「PのID = ""> "とし、私たちは持っていました 「ダミーテキスト、「エトセトラのような。 だから私はプログラムを書いていた場合 JavaScriptは何とか、操作します 我々のWebページを変更します 昨日で遊んでいました、 私はこれを使用します コー​​ドの行を強調 HTMLの特定のスニペットを取得します 私のページから、その特定のノード、 我々はそれを呼ぶように。 しかし、jQueryのではなく、執筆 この、これは生のJavaScript code--です ただ箱から取り出し、それはどのようにあなたです あなただけではなく、言うit--書き込み、 "#最初。" それは同等です。 そして、とてもこれだけに基づいて、 難解な例では、どのようなおそらく jQueryのを使用するための引数がありますか? なぜ開発者は次のようにライブラリを使用します この分離された例に基づいてjQueryの、 おそらく? AUDIENCE:少ないコード。 DAVID J.マラン:うん。 これは、少ないコードです。 これは、入力するだけで高速です。 対位法は、 それは恐ろしい見えること。 あなたは本当にそれが左から右に読む​​ことができません。 実際に、それはほとんどだから 句読点今の代わりに、実際の言葉、 私は種類のそれを推測することができます "のdocument.getElementByIdは」を取得します そのIDによって文書からの要素。 私は実際にはそのようなを使用することはできません ここでこの事からニーモニック。 だから、それはトレードオフです。 来る洗練があります 多くの場合、特に、ライブラリを使用してで jQueryのような。 しかし、現実には、jQueryのようなものがありあり 事実上の標準となって その結果、ほとんど誰これらの JavaScriptコードを書き込み日 jQueryのか何かを使用しています それのように、とはもはや書き込むことはありません このような冗長な表現 この、再びなぜなら、人類 したこと、すごい、学習しています 機会を逃したの並べ替え 私たちの生活を容易にします。 だから、人間は自分たちの生活を容易にします。 良い質問。 考慮すべき他の言語。 私はこのうち、と言うでしょう リストRubyは非常に人気です。 だからの世界では Rubyは、フレームワークがあります 非常に人気があると呼ばれるレール、。 だから、Ruby on Railsがあります 一般的に式を使用していました。 また、この世界では、私を聞かせて ウェブもののためのサークルのJava、 ここでのJavaの世界では あなたは、JSP、またはJavaを持っている可能性があります 一般的な技術であるサーブレット、。 そして、これはちょうど、再び使用する方法であります サーバー環境でその言語。 だから、これは何を意味するのでしょうか? あなたは、物理を持っていれば サーバー、あなたは文字通りだろう Webサーバーソフトウェアをダウンロード そして、このような方法でそれをインストールします あなたは、のいずれかのためのサポートを持っていること これらのフレームワーク、とあなた 、順番に、1を使用することができますか これらの言語のより。 そして、現実には、あなたがサインアップする場合 Webホストまたはクラウドのいくつかのような 我々が話をしたサービス 約昨日、多くの場合、 ものはただ付属しています あなたのためにマシンの構成。 あなたはこれを手動で設定する必要はありません。 あなたがした場合しかし、これはどこの役割です システム管理者の、いわば、 戦場に出ます。 彼または彼女は実際に行うことになります あなたのためのもの、この種の、 いわゆるウェブマスター あなたのためにこれを行うことが多いだろう。 大丈夫。 これらのここでのいくつかの上の任意の質問? または任意の機会に すべての言語について質問するには? フレームワーク? そして、私が紹介しましょう ただ一つの他のライブラリ それはまた、これらの日は非常に一般的です。 このリストは無限に行くことができます。 そして、このライブラリは一種のです 好意から落ち始めて。 それは、周りされています。 これは、によって普及しました。 いくつかの時間のためのTwitter。 そして今、ウェブサイトの多くを、 開発者の多くは、それを使用しています。 しかし、新しい物事が来ています アウトに沿ってきます。 しかし、私はちょうどあなたに意味を与えてみましょう それはライブラリを使用するために何を意味するのか。 だからもう一度、JavaScriptがあります 非常に人気のある言語。 CSS、またはカスケーディングスタイルシート、 我々は昨日について話しました。 それは、あまりにも、遍在です。 誰も今日のWebページを行うものではありません HTMLとCSSの最低限を使用せず。 しかし、それは必ずしも簡単ではありません 特定の物事を行うには。 だから私はgetbootstrap.comに行きましょう。 おっと。 それは我々が綴る方法はありません。 Getbootstrap.com、これ 私をリードしようとしています このライブラリのランディングページへ。 そこで、彼らは寛大に呼び出します 自分自身のフレームワーク、これ 種の種類の公平です、 私はまだそれを呼び出すことになります フレームワークよりもライブラリのより。 しかし、これらは単なる議論の余地のセマンティクスです。 私は自分のCSSタブに行こうと 私はこのような何かに行ってみましょう。 だから、私たちの形が見えたものを思い出します Cloud9上の昨日のような? それはかなり醜いでした。 オールドスクールボタン。 私はボタンがによって灰色だったと思います デフォルト。そして、すべてが本当にありました かなり乱雑にフォーマットされています。 だから、あなたが見て、あなたのWeb​​フォームをしたい場合 少しは私がここにはズームインしてみましょうnicer--。 そして、本当に私は立派でわずか 非常にせこい美学を意味します。 だから、メールボックスが持っているかに気づきます それに丸みを帯びた長方形のコーナー。 だから、そこに少しクリーナーです。 その単語のメールに注意してください 私が入力を開始するまであり そしてそれが消えます。 だから、ちょっといい機能です。 事は一種のであることに注目してください あなたはこののものも、うまく輝きます お使いのブラウザから無料で入手、 これのいくつかは、また、ライブラリであります 他の人が持っているコード あなたにこれを与えること書かれました。 このようなもの 私に私のパスワードを提供します。 このボタンは、より少しセクシーです デフォルト。今流行中の非常に。 これまでのiOS 7以降かそこら、 世界は非常に平坦得ています、 世界は前に持っていたのに対し、 ドロップシャドウのたくさん、たくさん アイコンの反射の。 多くの衣料品の世界のように、 行ったり来たりのファッショントレンドがあります。 これですべてがお使いの携帯電話に平坦です。 実際には、ボタン上のあなた iPhoneは今ちょうど青いリンクです。 多くの場合であっても円形のボタンがありません。 したがって、これらは単なるものです その内と外出 流行の、そしてどのようにあなたがかもしれないので、これはあります より近代的な探してWebフォームを作成します。 ボタン。 だから、ブートストラップはかなりのボタンがたくさんあり​​ます。 ですから、青のボタンをしたい場合は、 緑のボタン、ブルー、オレンジ、赤。 ブートストラップは、それが容易になります これらのことを行います。 これらは、物事の種類があります あなたは絶対にできること CSSでそして昨日行っています HTML、それは首のちょうど痛みです。 だから代わりに、どのようなブートストラップだろう あなたが持っていることは、このようなものです。 あなたがしたい場合button--は、これを判明します 私たちが使用していなかったHTMLタグがありますyesterday-- そしてあなたはそれが見てみたいです この緑のボタンのように、 あなたは文字通りそれにクラスを与え、 これは、私たちは、昨日の話をしました 「BTN-成功BTN。」の なぜこれらの言葉? Twitterやブートストラップの著者、 それらの言葉を思い付きました。 彼らは呼ばれている可能性が 彼ら彼らが望むもの。 しかし、あなたが今得ていることです この場合には、ツイッターで他の誰か、 あなたが作るん方法を考え出しました ボタンがきれいと緑に見えます。 彼らは、その機能をパッケージ化 CSSクラスでは、「BTN」と呼ばれます そして「BTN-成功、「私たちのいずれかができますように 今でも考えずにそれを使用 それ。 そこで、彼らは離れて抽象化しています 緑のボタンの概念 私たちは気にする必要はありません それを自分自身を実装します。 私たちは、実際に実装に集中することができます 私たちに興味のあるもの。 ここでは下にスクロールします。 画面上のエラーメッセージ。 時には、あなたは少しのメッセージをしたいです ブラウザの上部に表示されます。 私たちのいずれかが一部でこれを行うことができます 努力、昨​​日のレッスンの後、 しかし、なぜあなたは気にしますか? すなわち、このような退屈な 美的詳細。 上に立つのをしてみましょう ブートストラップの肩 そして彼らは私たちにこのようなものを与えてみましょう、 我々は文字通り、赤いボックスを取得する場合には、 ちょうど段落を行う必要があります 残念of--クラスとタグ。 「BG-危険性は「私たちを与えるだろう 代わりにこの赤みがかっボックス。 今度は、に行ってみましょう より興味深いです。 私はのトップに戻る場合 このページとは、コンポーネントにアクセスしてください 今、世界はもっと面白いです。 例えば、非常に一般的です このようなドロップダウンメニュー。 これは絶対的なものだろう 痛みが実装します。 そして、それはそんなに長くはありませんでした 前、我々のプログラマ これらを実装する必要があります 最初からメニューの種類。 しかし、それは、そのような共通のパラダイムです そのブートストラップのようなライブラリ ちょうどあなたが行う能力を与えます はるかに簡単に、はるかにドロップダウンメニュー。 それを行うには一つの方法はありません、 私はドキュメントを読めば 私はそれを見ること、[OK]を、私は使用する必要があります このHTML私は、ドロップダウンメニューが欲しい場合 それはそのように動作します。 同様に、のは、ドロップダウンボタンに行きましょう。 だから、これはあっても愛好家です。 私は、これはボタンのように見えるようにしたい場合 しかし、その小さな三角形の手段 私はそれをクリックする必要があります このメニューを取得し、この JavaScriptのと呼ばれる言語を使用しています。 そして、我々はすべて実装することができます JavaScriptでこれ。 しかし、再び、これはホイールです あなたが再発明する必要はありません。 あなたはそれを取るにしたいです このための棚ライブラリ。 のは、何かに行こう プログレスバーのような。 したがって、このようなものはクールの一種です。 あなたは今までの進捗状況を見てきた場合 画面上を移動するバー、 多くの場合、それを実装します ちょうどスピニングアイコンです。 実際には、ちょうど余談として、みましょう 私はそれが何であるかAjax--に行きますか? Ajaxの情報? おっと。 Ajaxinfo。 私はアドレスを覚えてみましょう。 そうしよう。 だから、あなたはいくつかのアニメーションを見てきた場合 ページの読み込み、または考えている一方で、 またはあなたは、保存、または何かを作成します これらのようなアニメーションが表示される場合があります。 それでは、何かを見てみましょう ここではこのような、 とのはのフォアグラウンドカラーを選択してみましょう 種類の優しい感じ緑、。 私はこれをクリックすることはできますか? 1を来ります。 OK。 私達はちょうどので、赤で行きますよ それは我々が取得しているものです。 そこでここではそれを持っています。 あなたが画面上でこれを見てきたのであれば、 これにより、突然それが表示され、 突然何であるか、消えます そのことを実現するのですか? まあ、これは単なるGIFです。 G-I-F。そして、これはアニメーションです ファイル、ちょうど手段 それは古い学校漫画のようなものです。 異なるのちょうど束があります 予定のフレーム[吃音] そして、だけ繰り返します。 そして、それは作成しています 運動の錯覚。 だから、すぐにページが行われているように ロードか何かをやって、 プログラマは何をするのでしょうか? まあ、彼または彼女はちょうどこのイメージを非表示にします。 したがって、すべてのプログレスバーが一種です あなたが監視しています映画が好きです。 あなたは、ソートの忘れ事実にしています それは実際には何もやっていないこと、 それだけで動いています。 そして、それが進行して終了したとき、 彼らはちょうどそれを非表示にするか、オフにしてください。 そして、それはすべての魔法です それが起こっています。 ブートストラップは、あなたを与えます 少し凝りました、 それによってあなたが実際にすることができます それが行くようにパーセンテージを参照してください、 しかし、それはあまりにもちょうど一種であります 単純なアニメーションの。 それでは、いくつかの最後のを見てみましょう ここでは、より複雑な例。 モーダルのような何か。 誰もがモーダルが何であるかを知っていますか? モーダルウィンドウは、一般に 想定される1 前景の制御を取ると、 何かをやってからあなたを防ぎます。 それは一種のユーザーの強制します 画面の中央に注目、 一般的に、それらをロックアウト、 他のすべての。 だから私は、このデモを起動した場合 画面には、一般的に灰色になります。 さて、どのように我々はそれが灰色作るのですか? さて、私たちおそらくちょうど 背景色を変更 我々は昨日のように またはそのような何か。 多分それはオーバーレイです 半透明です。 そして今、あなたが行うことができます注意してください このような派手なもの。 だから、あなたはボタンをクリックした場合 そして、表示​​されるように少しポップをしたいです、 出来るよ。 だから誰がええall--気? AUDIENCE:だからブートストラップと、 それが組み込まれ得るために、 それは昨日のようなのと同じくらい簡単です 私たちは、CSSスタイルのページをしましたか? DAVID J.マラン:確かに。 本当に良い質問。 私が入門に行きましょう。 そして、はい。 あなたがするためにしなければなりませんの ブートストラップは、基本的にコピーされ、使用 そしてこれら3つの長い行を貼り付けます あなた自身のウェブ当ページの最上部にコード あなたの当ページの頭 あなたが稼働しています。 そして、やってのさまざまな方法があります それが、これは最も簡単になります。 だから、これのすべてに関する有用な何ですか? さて、あなたはあまりいないのであれば ウェブサイトの実装 しかし、あなたはそれを設計しようとしています、 またはあなたが誰かを提供したいです ワイヤーフレーム図で、いわば、 何のか、単にアーティストのレンディション あなたは、私はこれに、やってみたいです 当日、多くの場合、サイトに移動します 場合Iブートストラップなど something--を実装したいです 最近、キャンパスでのような 我々が実装したかったです ナビゲートするためのウェブベースのツール ハーバード大学のコースカタログ、 学生のために簡単にそれを作ります コー​​スを閲覧します やコースを追加 買い物リスト、いわば、 種類の何を決定します 彼らが撮りたかったです。 私はのために想像しようとしていました 私自身、何の成分だろう 我々はこれを構築するために使用したいですか? ユーザーインターフェイスはどのようなものでしょうか? そして、ちょうどのようなサイトに目を通します この又は他のこのようなライブラリー部位 すごいので、あなたは、インスピレーションを得ることができ、 私はこのウィジェット、およびこのウィジェットを使用することができ、 そしてこのウィジェット。 そして、実際にどのような プログラマが開始します 特にこの中で、これらの日には、行うには Webプログラミングのより近代的な世界、 プログラミングはますますです 一緒に物事配線について。 並べ替え、棚をこのオフを取ります この既製、このオフの棚、 あなたはスマート一つであります これらの全てのドットを接続するため、 しかし、最終的には再びによって何かを構築 他人の肩の上に立って、 あなたは月に費やすことはありませんように ダウンメニュー愚かなドロップを実装し、 場合は、実際に行うのは難しいこれは あなたはそれがChromeで仕事をしたいです、 そして、IEとFirefox、および任意の 他のブラウザの数。 この豊かな存在である理由はここにあります 商用およびオープンソースソフトウェア 業界としても。 AUDIENCE:だから、ブートストラップが更新されますん あなたは、あなたのリンクを更新する必要がありますか? DAVID J.マラン:それはありません。 まあ、はい、それはありません。 ブートストラップは、バージョン3.3.6で現在あります。 そして、一般的にはdo--なりますか これは実際に言及する価値があります。 一般的に何があります セマンティックバージョニングとして知られています 世界のシステム。 誰もがこれを行います。 しかし、あなたはバージョン番号を見てきた場合 形式であることx.y.z-- そう例えば、最初のバージョン プログラムは1.0.0であるかもしれません。 それとも、それは非常に、非常にベータ版かどうか、 使用することを意味しても、アルファ状態、 ご自身の責任で、そうではありません プライムタイムのために実際に準備ができて、 あなたも0.0.1を開始する可能性があります またはそのようないくつかの指定。 しかし、ソフトウェアがバージョンで始まる場合 1.0、または同等1.0.0、 一般的に、これらは一般的なものです ないomnipresent--ですがdays-- 場合は、会社または 個々のプログラマの修正 いくつかの作品でいくつかのバグ 本当にそのソフトウェアの その補正バグは、べきではありませんでした それは変更されませんall--での衝撃あなたを プログラムの動作、 それだけで何かを修正します それは働いていませんでした properly--あなたは通常と そこz値を更新します。 どのカリームのような人を意味 単に彼のウェブサイトに行くことができ、 盲目的にバージョン番号を変更します 1.0.0から1.0.1へ、それを出荷、それを保存、 そして理論的には、する必要はありませ 彼はちょうど壊れていることを心配 彼のウェブサイトのため 機能の一部欠如、 他の何かが壊れたので。 一方、私の場合 プログラマやいくつかの会社 いくつかの重要なを作ることでした 機能を追加する変更、 私はに私たちを更新する可能性があります 私は実際にだから1.1.0 ライブラリの動作を変更します。 私はあなたかもしれない多くの機能を与えています。 最後に、私は実際にあった場合 基本的にそのようにソフトウェアを変更 それは多くを破壊することをはるかに ユーザのウェブサイトやアプリケーション、 その後、私は、このモデルでは、に、義務付けられています あまりにもメジャーバージョン番号をアップグレードし、 これは互換性に影響する変更です。 言い換えれば、私が持っているかもしれません これらのドロップのためのサポートを終了 ダウンメニュー。 ですから、2.0にアップグレードした場合、半分 あなたのウェブサイトは、動作を停止することがあります。 そして、これは信号の一種であります 何についてのコミュニティへ アップグレードを行うことに関与。 調達する良い機会。 その他の質問? 大丈夫。 まあのは1最後のを見てみましょう プログラミングのこのセグメントのトピック 技術スタックの、 すなわち、モバイルに関連します。 だから、携帯電話の今日の世界で あなたはhave--やiPad、および表面、 これらすべての種類 あなたが持っているdevices--の 選択肢の多いとき それが実現することになります アプリケーションやWebサイトの 顧客のモバイルデバイス。 だから状態に 明白な、おそらく、これらの日、 プラットフォームには何ですか モバイル空間にするために開発? どのデバイスあなたがしたいことがあります あなたのアプリやウェブサイトでサポートしていますか? AUDIENCE:アップル。 DAVID J.マラン:OK。 だから、Appleデバイス。 だから、iPhoneを意味し、その iPadの、そして多分、iPodを意味します。 ほかに何か? オリビエ? AUDIENCE:アンドロイド。 DAVID J.マラン:アンドロイド。 OK。 だから、Android携帯電話、アンドロイド タブレット、Androidの市場 でもメシエbecause--であり、 でも、Appleが乱雑になってきています。 むかしむかし、一方、 iPhoneは一定の大きさでした、 およびiPadは一定の大きさでした、 そして、iPodは今、ある程度の大きさでした 我々はiPadのミニミニを持っている、と薄いです もの、およびiPhone 6 Plusと6。 それは混乱になってきています。 これは、Androidの世界になってきています。 そして、私はローリングの並べ替えでこれを言います 私の目のために開発者から パースペクティブは、それがあります 首の痛みとき あなたはスティーブ・ジョブズ」がありません 絶対的なコントロールのビジョン これらの仕様のすべての上に。 彼らがしているので、Appleはまだありません ハードウェアを構築するもの。 しかし、それは場合は、いいことです 私は、ソフトウェア開発者よ、 ちょうどその私の知っています iPhoneは常に起こっています この大きな理由であることを それは私が常に知っていることを意味します どのくらいの画面の不動産私が持っています。 だから私は、アイコンを置きたい場合 左上隅で、 まったく同じであることになるだろう すべての単一の顧客のデバイスに配置します。 しかし、iPhoneの世界では 6SとiPhone 6プラス そして、Androidの世界では 電話は、それはすべてのマップの上です。 そしてそれは、プログラムにそれが難しくなります 物事、特にユーザ・インタフェース、 今あなたが配置を開始する必要がありますので、 あなたのユーザインタフェース比較的ではなく、 絶対に。 そして、同じことが、ブラウザ上で真となっています 年間とデスクトップ、ラップトップ あなたのため、もちろん、 異なる画面サイズを持っています。 ほかに何か? あなたは、表面を持っている可能性があります Microsoftのような。 あなたはhave--可能性があります AUDIENCE:Windowsの携帯電話。 DAVID J.マラン:それは何ですか? AUDIENCE:Windowsの携帯電話。 DAVID J.マラン:はい。 ように、Windowsの携帯電話はまだ見つけることができます。 ブラックベリーの一種のようなもの、 しかし、彼らは努力を続けます。 そして、他のデバイスのバンチ。 だから、ほとんどの部分は、してみましょう これらはものであると言います 現時点では気にします。 確かにアップルのもの、 確かにAndroidのもの、 そして、Windowsの間で、表面タブレットなど かなり人気を集めているようです。 そのため、これらのデバイスのうち、 あなたがロールアウトしたい場合は、 あなたのためのモバイルプレゼンス、の言わせて 会社、どのような設計上の決定の種類 あなたは確認する必要がありますか? まあ、我々はすでに述べました アップルの世界では、 少なくとも二つの言語があります それは典型的に使用されます。 一つは何と呼ばれていましたか? AUDIENCE:Objective-Cの。 DAVID J.マラン:うん。 古いものですだから、Objective-Cの、。 また、多くのMacその言語です アプリケーションがまだで書かれています。 その後、他の新規の方でしたか? AUDIENCE:スウィフト。 DAVID J.マラン:スウィフト。 そして、それらはの一種であります 2は人々を感動させる知っています。 そして、Androidの世界では、 Androidのは、どのような言語を使用していますか? AUDIENCE:C#の? AUDIENCE:Javaの。 DAVID J.マラン:Javaがあります 言語「今はやりの。」 Windowsの世界では、必ず、 私たちは、その場合のC#のを言うでしょう。 だから、すでにこれは一種のです 何だから、迷惑な ビジネスのためのお持ち帰り 所有者または誰か モバイルプレゼンスを展開したいですか? 同様に、畜生! 同様に、私がサポートしたい場合 かなり広いユーザーベース、 私が書く必要があり、それが思われます、 3つの別々のアプリケーションに最適です。 これらの言語のいずれかで一、 Javaで1、C#で1。 そして、私は機能が必要な場合でも、 同一であるように、それは問題ではありません。 私はまだ別の使用する必要があります アップル、マイクロソフトのための言語、 そして、Googleすべてのサポート 異なる環境。 そして、これは年間の課題でした。 戻る日に、とき ソフトウェアを購入するために使用される人々 コンピュータストア内で 包まれた箱を縮小、 あなたがしなければならないのいずれか Macの棚に手を伸ばす、 または多分これは非常に小さいのMacをfor-- shelf--以上のWindows棚 そして、いくつかのソフトウェアを購入。 そして、非常に多くの場合、さえありませんでした Macの棚上のあなたのために何でも。 どうして? さて、企業が90%あれば決定しました 世界の世界の、95% でも、なぜわざわざPCを、持っています Mac OSで物事を実装しますか? 総aside--として それはなぜdigression-- Macはウイルスに非常に通さないと思われること、 やワーム、およびセキュリティの脅威? Appleはこの時より良いですか? 安全なコンピュータを管理しておくのがベター? AUDIENCE:小さい聴衆? DAVID J.マラン:それです。 おそらくそれに大きなビット。 だからマックの多くのユーザーが持っています 長い主張し、ああ、Macを使っ、 あなたは、ウイルスに対する免疫になるだろう、と ワーム、およびこれらの事のすべて それは長い間PCを悩ませてきました。 それはAppleの理由が考えられます 優れたプログラマーを持っています 彼らはより良いソフトウェアを書きますか、 オペレーティング・システムは、より良く設計されました。 多分、おそらくありません。 それはあなたがいるときにすることをおそらくです 12歳、または30何か 自宅の書き込みの前に座ってのソート 引き継ぐ悪意のあるソフトウェア 世界は、あなたが後に行くつもりです はるかに大きなターゲットオーディエンス。 世界の95%かもしれません Windowsまたは一部を実行していること その変異体。 だから、両側の少しがあります。 しかし、彼らの信用に、 アップル、私の知る限り、 本当に自分自身を売り込​​んだしていません より安全なものとして、 あなただけの場合は、ドラマを招待しているので、 あなたがその請求を行う、私が思うだろう。 大丈夫。 あまりにも遠く降りなし それは、どのように我々はこの問題を解決するのですか? あなたが購入しなければならないのか、する必要がありますか 開発するために、3つの異なる人々を支払います アプリ? あなたは他の上の1つを選ぶのですか? 何があなたの指針とすべき ここで考えだと思いますか? カリーム? いいえ。 他の誰か。 AUDIENCE:ちょうどハードウェアが付属しています。 DAVID J.マラン:ハードウェアと一緒に来て? どういう意味ですか? AUDIENCE:について 環境。 [聞こえません] DAVID J.マラン:だから、それは本当です。 しかし、あなたの顧客は、 一方、iPhoneを持っているかもしれません、 彼らは、Android携帯電話を持っている可能性があります マイクロソフト製のタブレットを持っている可能性があります。 それでは、どのようにモバイル戦略を持っています これらの異なるユーザのすべてのために? 場合、それがコストように思われます、 のは、iPhoneを作るために$ 1,000としましょう アプリケーション、それが起こっています 作るためにあなたに$ 2,000費用に iPhoneアプリケーションとAN Androidアプリケーション、または$ 3,000 また、同様に、Windowsのデバイスをサポートします。 それはおそらくかなりのです 控えめ、そしてそれもないかもしれません そのような線形の関係です。 観客:あなたはアプリを持っているしたい場合、または 、あなたは、応答性のウェブサイトを持つことができません。 DAVID J.マラン:グッド。 AUDIENCE:それともネイティブアプリを持つことができます。 DAVID J.マラン:うん。 だから、すべてこの文脈でここに、 我々は何の話をしてきました 人々は、ネイティブアプリケーションを呼び出します。 それが記述されたアプリケーションです そのデバイスのネイティブ言語インチ だから、ネイティブのObjective-Cまたはスウィフト コー​​ド、またはJava、またはC#のインチ これはあなたがダウンロードしたときに、してみましょう意味 Snapchat、人気のアプリケーションを言って、 またはあなたがダウンロードするとき 電話のためのFacebook、 あなたがダウンロードしているのいずれか あなたのiPhoneのために書かれたバージョン、 またはあなたのAndroid携帯電話のために書かれ、 またはあなたの表面のために書かれました。 しかし、代替手段があります。 オリビエはをほのめかしたように、 あなたが実際にHTML 5を使用することができます 代わりに、ウェブと呼ばれるものを使用して アプリケーション、それによって、単にあなた お使いの携帯存在感を実装 そして、任意の機能を提供します。 私は、モバイル存在とはどういう意味ですか? あなたが持っているあなたのウェブサイトと同様に 連絡先情報、全てのリスト 貴社の製品、多分それはショッピングを持っています カートは、多分あなたはそれを介してものを売ります。 あなたのアプリケーションは、あなたが何であれ ないObjective-Cで、それを実装し、 またはスウィフト、またはJava、またはC#のが、HTMLで 私たちが見た言語だった5、 昨日で、JavaScriptとCSSを使用しました。 そして、それらのいいものです 3は、それらを実行することです、 あなたがソフトウェアのだけで何枚必要ですか? AUDIENCE:Webブラウザ。 DAVID J.マラン:Webブラウザ。 そして、最高のは、私は、これらのすべてを知っています デバイスは、Webブラウザが付属して ユーザはに持っていません 何か特別なものをインストールします。 だから、あなたは自分を伝えることができます 聴衆、あなたの顧客、 あなたにacme.comに行きます ブラウザとあなただけよ Webベースの経験を持っています まだ画面を埋めること、 しかし、あなたはすべてのを心配する必要はありません これらの費用と、この複雑さのすべて。 しかし、確かにそこに起こっています ここにキャッチことは、右? 私が指摘する場合は特に 数年前、その、 の非常に最初のバージョン Facebookのモバイルアプリケーション 主にHTML 5のアプリケーションでした。 そして、彼らはより多くの、持っています 最近、それを再実装 そのほかのアプリケーションインチ なぜあなたはないでしょう すぐに言いたいです、 よく、明らかに我々はこれをやろうとしていますか? 隠れたコストは何でしょうか? AUDIENCE:パフォーマンス。 DAVID J.マラン:パフォーマンス? どういう意味ですか? AUDIENCE:ネイティブアプリ より多くの性能を有しています。 DAVID J.マラン:だからであります 真の、いくつかの理由。 私たちは答えを単純化し過ぎることができます。 との議論を思い出します コンパイル言語に対する解釈。 これはHTML 5であり、それとの、ちょうどであることを 一般的に書かれた明確な、JavaScript-- JS--とCSSが全てです 言語を解釈し、 でも、JavaScriptのみかかわらず、 プログラミング言語です。 そして、これらの対ので、このことは、これらのいくつかを コンパイルされ、少なくともこれらのthree-- Objective-Cの、JavaとC#の - これらの、 理論的には、ちょうど高速にする必要があります。 しかし、別の現実がありますfor-- AUDIENCE:机能? DAVID J.マラン:それは何ですか? AUDIENCE:机能。 DAVID J.マラン:機能? どうして? 聴衆:カメラを使用 お使いの携帯電話か何かオフ。 あなたはブラウザのものを使用することができます。 DAVID J.マラン:その通り。 彼らはsec--ています AUDIENCE:[聞こえません] DAVID J.マラン:それは別の良い一つです。 来の機能があります 携帯電話と今日 セキュリティのために、設計によって、されないこと ウェブブラウザからアクセス可能な理由、。 それは一種のようになりますので 気味の悪い事ばかりであれば あなたが訪問google.com、または cnn.com、または任意のwebsite.com、 そのウェブサイトは、オンにする力を持っていること お使いのカメラに、あなたの写真を撮ります、 し、それを使用します。 しかし、あなたは、ランダムなウェブサイトを望んでいないだろう あなたは非常に初めて訪問していること その能力を持っています。 だから何の電話 メーカーは一般的に行います 彼らはアクセスを拒否されます 情報の種類に あなたを意味ブラウザへ カメラを実装することはできません。 あなたは、プッシュ通知を実装することはできません あなたが画面上に取得ビープ音 短いメッセージを持ちます。 そして実際に、でもGPSは唯一の一種であります Webブラウザが利用可能なの並べ替えの。 あなたがラップトップ上で、今までしている場合 またはモバイルデバイス上で、 多分のようなものをプルアップ cnn.comだけでなく、地元のニュース局 これを行う傾向があり、あなたが要求されます 多くの場合でmessage-- foxnews.com あなたの場所を知りたいです。 承認または拒否します。 まあ、ブラウザがアクセスしようとしています お使いの携帯電話からあなたのGPS情報。 しかし、ありがたいことに、マイクロソフト、 アップル、とGoogle 以下のように感じていることを決定しました それは便利な状況ですが、 我々はGoogleマップをしたいと 他のツールは、動作するように 私たちは、人々をクリープしたくありません ただのウェブサイトを可能にすることによってこれを行うには。 それでは、大会の並べ替えてみましょう 途中、ユーザーに促します。 しかし、それは必ずしもそうではありません カメラのようなすべてのハードウェア、と そして、押すだけで 通知など、 あなたがする必要があるかもしれません 特定の機能を生け贄に捧げます。 しかし、あまりにもパフォーマンス。 それは少なくなってきています おそらく、最近は目立ちます LTEは、上で​​キャッチし、より速くとして 携帯電話でのインターネット速度、 しかし、あなたは種類の違いを感じることができます。 Webベースのアプリケーションのように ただ一般的に、遅いと感じ、 ネイティブアプリケーションよりも、部分的に Webベースのアプリケーションのために 定義により、インターネット上にあります。 これは、Web上のサーバーに話しています。 そして、あなたのネットワーク接続がある場合 ゆっくりと、でもスクロールが遅くなる可能性があります。 しかし、ネイティブアプリケーション、あなたが持っています すでにプレdownloaded--おそらく あなたが家にいたとき、 アプリストアから、 またはあなたは、少なくとも事前にダウンロード それはその全体が 以前、どちらがお 接続speed-- そして今、あなたはすべてを持っています あなたが一般的に必要とするビット。 おそらくいくつかのデータを除きます それは、サーバーから送られてきます。 したがって、これらはトレードオフはここにあります。 真ん中のようなものがあります 実際には妥協、。 そして、私はyou--思います AUDIENCE:データをオフラインで使用してください。 ネイティブアプリでは、することができます[聞こえません] DAVID J.マラン:もちろんです。 だから、オフライン問題があります、 これは本当に迷惑です あなたには、いくつかのゲームや使用を再生できない場合 あなたがしているという理由だけでいくつかのソフトウェア 地下のどこかに またはエレベーターインチ ネイティブアプリケーションは、弾力性があります それに対して、より高い確率で、 あなたはすべて持っていると仮定すると あなたがローカルに必要なデータ。 そこでここでは3つ目のオプションがあります。 とののようにスペクトルを描きましょう ここでは、ネイティブここでアプリやウェブアプリ。 そして、途中で何 何かがありますcalled-- そして、私はあなたが持っているかもしれないと思います 多分、前の単語を使用しますか? ハイブリッドアプリケーション。 そして、言葉が示すように、 それが途中で何か。 これは、Webアプリケーションのようなものだと それは、ネイティブアプリケーションのようなものです。 そして、これは何を意味するのでしょうか? それはframeworks--ありますが判明します earlier--ソフトウェアからの用語を使用するには 他の人が書いたこと これらのプラットフォームの一人一人のために。 これらおよびまだ他のデバイス。 実際に、私はPhoneGapのに行かせ、 これはそのようなフレームワークであるI Adobeは今所有していると信じています。 私が入門に行きましょう。 どれどれ。 私はツールの一覧を見ることができます参照してください。 ハードウェア。 入門。 PhoneGapのハードウェア。 どれどれ。 PhoneGapのハードウェアへのアクセス。 我々は少しを見つけることができるなら、私は見てみましょう 彼らが持っていたことをグラフ。 これは、別のサイトにあります。 これは便利ですか! いいえ。 それはつもりが私たちの時間を無駄です。 PhoneGapのハードウェア。 デバイス。 デバイスAPI。 いや、彼らはそれを移動しました。 PhoneGapの。 のは、この1つの最後を見て行きましょう 私はあなたを示すことができるかどうかを確認します。 入門。 PhoneGapのをインストールします。 モバイルアプリをインストールします。 いい加減にして。 彼らはすべてを再編成しました。 大丈夫。 ああ、すべての権利。 さて、ここで私達は行きます。 これは、すべてのこと啓発ではありませんが、 これは私が一種の探していたものです。 だから、PhoneGapのはあなたのフレームワークです あなたを与えること自由のためにダウンロードすることができます いくつかのスターターコード、基本的に。 彼らが書かれているので、いくつかのコード それは何の多くを行いません。 しかし、それはあなたを与えるもの 本質的に等価です ただ置くアプリケーションの ユーザの画面に大きな長方形。 それは次のように、URLバーを入れていません ブラウザは、アドレスを入れていません。 それはちょうど、大きな長方形を置きます。 そして、あなたはこの大きなを設定します 長方形、ボンネットの下に、 実際にacme.comに行く、または多分します m.acme.com、mobile.acme.comため、 しかし、ユーザーが知りません 彼らはそのアドレスにいます。 彼らが見るすべてがあります ウェブページの内容。 しかし、このことについて素敵なものです ハイブリッドアプリは何PhoneGapのことです および他の企業では、ある与えています 彼らはあなたのコードを少し与えています Objective-Cのまたはスウィフト中、または Javaでコードを少し、 またはコードの少し C#で、本質的に、 あなたが提供しなければならないすべては、最小限であります あなたのWeb​​ベースのアプリケーションのアドレス。 そして、あなたはこれをバンドル すべて一緒に、あなた それはあなたのアクセスのいずれか持っています インターネットを経由してサイト、 またはあなたも地元をキャッシュ アプリケーションの中にコピーし、 そして、あなたはあなたのアプリケーションを保存します iPhoneの形式で、Androidの携帯電話 フォーマット、表面フォーマット、または 他の任意の数のデバイス。 あなたはこれらのバージョンのそれぞれをアップロード Google Playストアに、 App Storeに、へ 等々Windowsストア、および。 そして今、あなたはあなたのすべてを持つことができます 観客は本当にネイティブアプリをダウンロードし、 コー​​ドの大部分はあったとはいえ 他の誰かによって書かれました、 しかし、そのネイティブアプリの内容は、すべて あなた自身のウェブサイト、一般的に、から来ています。 つまり、あなたのウェブサイトを書き続けます HTML、JavaScript、およびCSSインチ なぜこれらのラインをぼかしますか? ハイブリッドアプリケーションを持っている理由 それは、ネイティブのようなものだが、また、 ウェブの種類はベース? の全体のポイントは何ですか この複雑さを加えること? 私はちょうどから、でもまだ、意味します このページをかすめます、 入門ガイドでは、のように感じています それは私のための手順の全体の多くを持っています 私はcan--前に行うには AUDIENCE:再利用? DAVID J.マラン:再利用? どういう意味ですか? AUDIENCE:ソースコードの。 だから、同じコードは、上の実行されます すべての異なるプラットフォーム。 DAVID J.マラン:うん。 AUDIENCE:[聞こえません] DAVID J.マラン:パーフェクト。 時間がタイトで、あなた場合であれば 多くのdevelopers--ことはありません 多分あなたは1開発者を持っています 彼または彼女は確か これらのすべてを知りません environments--確かではないだけでなく、 確かにプログラムすることはできません 同時に3つのすべてで とに3つの製品を出荷 1に許される時間、 あなたは彼または彼女はすべてを構築することができます HTMLとJavaScriptとCSSで、 そしてその後、小さな小さなを学びます ネイティブアプリについて少し、 ダウンロードするだけで十分な このようなフレームワーク、 その後に製品をアップロードします 様々なアプリケーションストアのすべて あなたが今持っているように、 ネイティブアプリケーション。 だから、Win-Winのように思えます しかし、再び、明確にします 潜在的なものです コストや落とし穴? AUDIENCE:パフォーマンス? DAVID J.マラン:うん。 パフォーマンス。 それは口頭で説明するのは難しいです。 だから、あなただけ取る場合 信仰モバイルアプリケーション、 Webアプリケーションの意志 一般的に、よりゆっくりと行います。 それはので、かなり右見ていない可能性があります iPhoneで、そしてAndroid携帯電話で、 そこだとWindowsデバイス、 デフォルトの外観の常にソート とのすべてに感じます ボタンとメニュー。 そして、ウェブの企業は、試すことができます それらの美学を近似します ブートストラップのようなライブラリと、 しかし、抜け目のないuser--をuser-- ことを知ることが起こっています 何かがかなり右ここではありません。 そして、それは多分、大丈夫です それは大したことではないのです。 しかし、パフォーマンスの問題 絶対に大したことです。 ネイティブアプリケーションは、ちょうどになる傾向があります はるかに応答性のため、です より良いです。 だから、次に何があるかもしれません 両方の長所? あなたが特に小さいなら 企業や小グループ、 あなたは、リソースを持っていません 並行してアプリを開発します すべての3つのプラットフォーム上で、と率直に言って、 それはとにかく悪い考えだように感じています あなたがそれをロールアウトし、場合ので、 すべての3つを同時に実現します 我々はいくつかの機能を追加している必要があります または今、異なった何かを行います あなたはそれを修正する必要があります 3ヶ所ではなく、1。 多分最適散策 戦略ここでは全体的に、 リソースと時間が締まっていますか? AUDIENCE:ちょうどiOSの上でそれを行います。 DAVID J.マラン:不合理ではないのです。 少なくとも中のiPhone、 米国は、超人気があります。 アンドロイドはまだ支配的な持っているようです 市場シェア、世界的に、全体的に。 だからではありません 必ずしも代表 地球の全体今週の。 しかし、それは絶対に1つの決定です。 私は私がここにキャンパス内に、意味します いくつかの凶悪数を考えます または大学生の割合 iPhoneやAndroidのない携帯電話を持っています。 しかし、海外では、反対のようなものです。 つまり、あなたの聴衆に基づいて決定します。 どのようにあなたの聴衆が持っているものを知っていますか? まあ、我々は昨日トリックを学びました。 あなたがそれらを求めることができます。 あなたは囚われの聴衆を持っている場合 あなたは彼らに調査票を送ることができます。 それとも、ただ何ができますか? AUDIENCE:Google Analyticsの? DAVID J.マラン:それは何ですか? AUDIENCE:Googleアナリティクス。 DAVID J.マラン:Googleアナリティクス。 うん。 またはそれ以上の種類の技術的、ちょうど 独自のWebサーバのログを見てください。 何が起こるかあるので 毎回ブラウザ、 かどうか、ラップトップ、デスクトップ、または 携帯電話はあなたのウェブサイトをご覧ください! 彼らは、そのショーそのHTTPヘッダを送信します あなたは彼らが使用しているブラウザとOS。 だから、高い確率で、推測でき、 あなたの人口統計学はそのように使用しているもの そしてその後、調整します。 だから、それは受け入れられないですと仮定します。 それはビジネスの場合のソートの悪いです Androidユーザーは、私たちのウィジェットを購入することはできません。 観客:あなたがいるかどうか つもり充電するかどうか? DAVID J.マラン:かどうか あなたは充電するつもりですか? それでOK、あなたは何を支払うを取得します。 AUDIENCE:あなたのアプリはつもりであるかどうか 無料であるか、またはそれはgonna--のかどうか DAVID J.マラン:OK。 だから、多分あなたは回収することができ そのように、コスト、or--? 観客:そうは言ったら私が勉強を読みます より多くのAppleユーザーはアプリのために支払いますversus-- DAVID J.マラン:それは本当です 彼らはすでにだから 自分のデバイスのために多くを支払います。 仮定だから、不合理ではありません。 AUDIENCE:[聞こえません] DAVID J.マラン:OK。 彼らは支払うことをより喜んでいるのであれば、 その後、Androidユーザーと地獄へ。 彼らはするつもりはありません とにかく私たちに何かを支払います。 我々としても私たちの優先順位を集中する可能性があり、 少なくとも最初の数ヶ月のために または年、iOSの。 完全に合理的。 より包括的な何ですか それよりも戦略? Maybe--それは何ですか? AUDIENCE:[聞こえません] DAVID J.マラン:もっとexpensive-- ので、多分先に行くin​​--以上を投資しています。 AUDIENCE:うん。 ちょうど携帯サイト。 DAVID J.マラン:だからやります 携帯サイトではなく、 でも、この複雑さを心配します。 それとも合理的な戦略、 これでもFacebookがかかりました、 ハイブリッドで開始され、 アプリケーションそうではありませんので、 これよりもこれを行うには、そのはるかに困難。 あなただけのいくつかを読まなければなりません ドキュメントには、どのように把握し、 App Storeに物事をアップロードします。 だから、多分あなたは、で始まります この、初日となるよう、 あなたはすべてのユーザーをサポートすることができます。 そして、ちょうどFacebookのような およびその他の企業が行っています、 あなたは、リソースを持っているとき、 あなたが人々を持って、 なぜあなたは再実装しません ちょうどiOSアプリケーション。 あなたはまだ、みんなのために何を持っています それは劣った経験だにもかかわらず、 おそらく、ハイブリッドアプリケーションと。 しかし、あなたは徐々にロールアウトすることができます あなたの短期を交換 ハイブリッドアプリの措置 あなたのより多くのネイティブアプリケーション。 AUDIENCE:しかし、ハイブリッドアプリであなた モバイル機能へのアクセス権を持っているのだろうか? DAVID J.マラン:必ずしもそうではありません。 だから、多分あなたが作ります 早期に意識的な決定、 あなただけの写真をアップロードすることができます FacebookのためのiPhoneのネイティブアプリケーション、 ではなくAndroidアプリケーション上で、 最初に、例えば。 そして、それはので、白い嘘のビットです Webアプリケーションは、より多くの制限があります ハイブリッドアプリケーションよりも、それは変わります アウト、我々はドキュメントを読む場合 PhoneGapのそれのようなもののために、 人々は様々な方法が出ています Webベースのアプリケーションを提供します カメラへのアクセス、 あなたが使用している限り、 ハイブリッドアプリケーション。 それがどのように動作しますか? ハイブリッドので、 アプリケーション、定義により、 、Objective-Cでのコードのビットを持っています そして、スウィフト、およびJava、またはC#で、 それはハードウェアにアクセスすることができます。 必ずしもすべてのもの、 しかし、それは非常によくかもしれません あなたが持っている場合であります カメラを取得するための十分なアクセス、 でも、Androidのプラットフォーム用、用 例えば、その不自然な例です。 他の質問は? 大丈夫。 なぜ我々はなりません私たちの ここで15分休憩。 我々は最終的に3で再開します Webプログラミング、データベースを見て、 そして、Javascript。