• ベストアンサー

WEBサービスやアプリなどで技術だけではわからない

WEBサービスやアプリなどで技術だけではわからない場合どうやりかたを調べるのでしょうか? 下記のようなサイトなどJSの技術だけではどうやって作るのかわからないことが多くあると思います。 http://craverse.com WEBアプリやネイティブアプリ、デスクトップアプリなどで例えば、コピペ用アプリを作ったりバックアップ用アプリを作っておこずかい稼ぎをしようと思っても、どうやって実装するかJSの知識だけではわからない事ってたくさんありますよね。 これらの知識はどのように得るのでしょうか? HWなどを0から学ぶしかないのですかね?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

電卓は使えるようになったけど、帳簿の付け方がわからない。 電卓ICチップの動作原理から学ぶ必要があるでしょうか?とはならないですよね。 それと同じで、プログラム言語は、自分のアイデアやアルゴリズムを実現するための 道具であって、プログラム言語の言語構造だけ覚えてもアイデアは出てきません。 ちゃんとそのサービスは見てないですが、そのような横断的に検索するためのサイトを 作るためのキーワードは、”マッシュアップ”と呼ばれているアルゴリズムだと思われます。 つまり、複数のWebサイトの情報を、WebAPIやHTMLの構造解析を使って入手して、 書式を整えた上で、一旦、自前のサーバー上のDBに格納し、 自サイトのユーザー向けには、そのDBを検索するためのAPIやWebフォームを用意する。 有効期限や重複問題を解決できるようにアルゴリズムを工夫する。 って感じになるかと。 この時点では、なんのプログラム言語を使うか(どの電卓を使うのが速いか)は、 まったく関係ありません。 なので、プログラム言語の知識ではなく、 自分のアイデアを実現するために、どういうアルゴリズムで組めばよいかを想像できるようになるために、 沢山のアルゴリズムを学ぶべきでしょう。 また、プログラム言語には、最適な用途がありますので、 ブラウザ上でのJSのみでこれを実現するのは、かなり無理があります。 サーバーサイド用のプログラム言語も必要ですし、 Node.jsを使うにしても、DBを扱うには別途SQL言語やDBMSの知識が必要です。 プログラム言語ありきの「技術志向」でなく、利用者のためにづあるべきかの「顧客志向」で考えましょう。

okweb12345
質問者

お礼

WEBアプリやネイティブアプリ、デスクトップアプリで コピペ用アプリなどを作ってマネタイズしたいならいくら、プログラム言語の仕様を覚えてもずっとできるようにはならないのですね。 アルゴリズムを思いつく能力の方がよほど大事で、このような事を学ぶ本もあるが、結局最後は作りまくることが一番なのでしょうね。 ただそれでアルゴリズムが出来るようになっても、HWの使い方やどんな関数を使うとどんな利用が出来るのかを知らないと どんなに想像力があってもブラックボックスの物を使う方法を思いつくというのは不可能ではないでしょうか? 例えばクロボーなどコピペ用アプリを作ろうとするとおそらくメインメモリーをどんな関数でどんなふうに利用できるかを知らないと、 絶対に思いつきませんよね。 このような情報はググったら出てくるものですか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (13)

回答No.4

> 例えばクロボーなどコピペ用アプリを作ろうとするとおそらくメインメモリーをどんな関数でどんなふうに利用できるかを知らないと、 > 絶対に思いつきませんよね。 それは、HWの知識ではなく、OSのクリップボードを呼び出すためのシステムコールAPIの知識ですね。 もちろんHWの知識はないよりもあったほうがよいですが、 それよりもコンピュータの動作原理やOSがなにをやってるかを学んだほうが アプリ開発の役にたつと思いますよ。 つまりは、知ってる言語の機能や使ったことのある関数から逆算して、アルゴリズムを考えるのではなく まずアイデアやアルゴリズムがあって、それば どの環境(クライアント側、サーバー側)の、どんな言語のどんな命令を使えば実現できるのかを探して行くべきです。 もちろん、習うより慣れろっていうのは、ありますし、 独学ではかなり難しいので、特に最初のころなら 出来る人の横に座って眺めているだけでも、かなり勉強になると思います。

okweb12345
質問者

お礼

>>> それは、HWの知識ではなく、OSのクリップボードを呼び出すためのシステムコールAPIの知識ですね。 もちろんHWの知識はないよりもあったほうがよいですが、 それよりもコンピュータの動作原理やOSがなにをやってるかを学んだほうが アプリ開発の役にたつと思いますよ。 まさにこれです WEBAPIしか知りませんでしたが、OSにもAPIがあってそれを使ってメインメモリー上のデータをいじることができるのですね。 恐らくPCだけでなくスマホも同じなのでしょうね。 メインメモリーやHDD所の情報やファイルをいじくりまわすにはHWの知識で行うのかと思いましたが、 必要なのは、OSの知識だけのようですね。 ファームウェアなどは特にソフトウェアエンジニアにはほとんど意識する必要はなく、これとHWとのやり取りを仲介してくれるOSの事だけを、 理解しておけばアプリ制作は十分なのですね。 CEなわけではないので、OSから先は関係ないですね。 そしてOSにHWの情報をこういじってと命令をするためのOSのAPIを理解すれば、あとはJSでもなんでもいいのでプログラムを作れば命令通りOSがやってくれるのですね。 よってOS API メインメモリー ハードディスク バックアップ 作り方などと調べればその方法が見つかるのでしょうね。 私はWEBのフロント技術しかないので今はWEBアプリしか作れないのですが、恐らくセキュリティ面から上記のようなことは、インストール出来るネイティブアプリ出ないと不可能でしょうか? 今後はデスクトップアプリは、将来性がなくネイティブアプリも頭打ち、WEBアプリが最も伸びがあり将来性があると聞き、 WEBアプリで需要が今後増えるものを作っていきたいのですが、どんなものがあると思いますか? WEBはHWにアクセスしてバックアップやコピペ用などのアプリは作れないので、買い物計算や、ゲームくらいしか思いつきません。 しかもデータの保存もWEB上なのでクライアント端末ではできないですよね。 WEBストレージはありますがキャッシュ削除すると消えてしまいます。これをダウンロードしてもらって、 続けたい時にアップロードしてもらい続きをできるといいんですが、 これは不可能で、これをしたいならWEBの場合はherokuなどのサーバにmysqlを入れてここに保存してもらうしかないですかね。 DBまでやっていける頭の容量がなくあふれそうです。 買い物計算や、ゲームくらいなら初級本一冊程度で大丈夫ですかね?

全文を見る
すると、全ての回答が全文表示されます。
  • catpow
  • ベストアンサー率24% (620/2527)
回答No.3

>>WEBアプリやネイティブアプリ、デスクトップアプリなどで例えば、コピペ用アプリを作ったりバックアップ用アプリを作っておこずかい稼ぎをしようと思っても、どうやって実装するかJSの知識だけではわからない事ってたくさんありますよね。 薬剤師の時給が高いからって、だれでも簡単にはなれませんよね? お金と、6年間の学校での勉強と資格試験に合格しないとだめだったと思います。 それと同じですよ。 また、JSだけでは、質問者さんが考えるようなソフトは作れませんね。 個人的には、C#でオブジェクト指向やメタプログラミング、関数プログラミングなどを学ぶのがお勧めです。 C#は、学ぶのはかなり大変だと思いますけど、マスターすれば、Webアプリ、ネイティブアプリ、デスクトップアプリ、バックアップ用アプリに、iOS、Androidまで、ほぼ何でも作れますよ。 素晴らしいのは、C#(Visual Studio)でWebアプリを作ろうと、いろいろとコーディングすると、自動的にJSのコードが生成されて、クライアント側(ブラウザ側)のソースまで生成してくれたりすることです。 >>これらの知識はどのように得るのでしょうか? コンピュータが好きな人は、何台ものパソコンやソフト、専門書などを買いまくって、土日の休み、大型連休となれば、朝から深夜まで部屋にこもってコンピュータをいじりまくったり、資料など読みまくるって感じでしょうか? 本人は、勉強している気は無くて、ゲームしているような遊び感覚でしょうけどね。 もちろん情報系の専門学校・大学に入学して勉強するってのもあるけど、たぶん学校での勉強以外で沢山コンピュータに触る時間を確保しないとダメな気がします。 たぶん、学校は、技をさずけてくれる師匠、あるいはコンピュータの悪友を見つける場と考えたほうがいいかもしれません。 >>HWなどを0から学ぶしかないのですかね? 当然ながら、ハードウエアの知識を持っているほうがソフトを作る場合でも有利になりますからね。 半田ゴテ、テスターやオシロスコープなども入手して、電子工作になじんでおくといいです。 ちょっと前から、ラズパイなど、電子工作で数千円の小型コンピュータを作るのが流行していますが、上記のような道具が必要になりますからね。

okweb12345
質問者

お礼

>>> 個人的には、C#でオブジェクト指向やメタプログラミング、関数プログラミングなどを学ぶのがお勧めです。 C#は、学ぶのはかなり大変だと思いますけど、マスターすれば、Webアプリ、ネイティブアプリ、デスクトップアプリ、バックアップ用アプリに、iOS、Androidまで、ほぼ何でも作れますよ。 素晴らしいのは、C#(Visual Studio)でWebアプリを作ろうと、いろいろとコーディングすると、自動的にJSのコードが生成されて、クライアント側(ブラウザ側)のソースまで生成してくれたりすることです。 Node.js、vue、エレクトーンなどを使えばほぼすべてできると聞いたのですが、そうではないのですか? C#はJSそっくりでJSがわかればすぐにわかると聞きますが、そうでもないのですね。 JSをC#に変換はできないのに、その逆は出来るのですか。するとC#が出来ればJSで再現できるものはすべてできるのですね。

全文を見る
すると、全ての回答が全文表示されます。
  • hiodraiu
  • ベストアンサー率15% (448/2824)
回答No.1

「これらの知識」って幅広い話してますか?リンク先のサイトを見ましたが、このサイトの何か特定のことを指してますか?サイト全体の構築の話ですか? 質問を読んだ感じでは、システム開発全般に対する知識をどうやって得るのかってことのように思いました。 何でも同じだと思いますが、基礎から勉強するのが一番早いと思います。ソフトウェア工学とか情報工学とかの基礎を勉強すれば、これらのことは習得できると思います。

okweb12345
質問者

お礼

WEBアプリやネイティブアプリ、デスクトップアプリで コピペ用アプリなどを作ってマネタイズしたいならいくら、プログラム言語の仕様を覚えてもずっとできるようにはならないのですね。 アルゴリズムを思いつく能力の方がよほど大事で、このような事を学ぶ本もあるが、結局最後は作りまくることが一番なのでしょうね。 ただそれでアルゴリズムが出来るようになっても、HWの使い方やどんな関数を使うとどんな利用が出来るのかを知らないと どんなに想像力があってもブラックボックスの物を使う方法を思いつくというのは不可能ではないでしょうか? 例えばクロボーなどコピペ用アプリを作ろうとするとおそらくメインメモリーをどんな関数でどんなふうに利用できるかを知らないと、 絶対に思いつきませんよね。 このような情報はググったら出てくるものですか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 計算のWEBアプリがうまくいかない

    計算のWEBアプリを作ったのですが、inputの中身が空だった時に、 計算結果が出てきません。 ifが必ず偽になってしまうのはなぜでしょうか? https://codepen.io/anon/pen/YNRGrq またちょっとずれますが、ローカルストレージにより、ネイティブアプリからWEBアプリに今後、 流れが移ってくると聞いたのですが、今後仕事が大いに増えるWEBアプリとは、 PHP,ruby、nodejsなどサーバサイドのプログラミング言語を使った、 サービスのことでしょうか? 具体的にどんなものだと思いますか? js、htmlなどでできるフロントのものもWEBアプリといえて、今後仕事が大いに増えることが期待できるのでしょうか?

  • アプリとWEBの垣根がなくなっていく?

    Universal JavaScriptがこれから盛り上がるようですが、node、reactnativeなどですべてJSのみでできるようになるということですよね。 また、こちらに下記のような情報がありますが、WEBはもうDTPのようにオワコンに向かっていくのでしょうか? ネイティブアプリにはかなわないようなことが書いてあります。 http://qiita.com/kyrieleison/items/4ac5bcc331aee6394440 Universal は悪いアイディア? 一方で、Say No to Universal Apps という記事では、Universal JavaScript について以下のように批判しています。 ネイティブアプリのパフォーマンスは劇的に向上し、モバイルユーザの普及率はどんどん上がっていく Web の利用はなくならないが、利用率は下がる より良いユーザ体験のためには、プラットフォーム特有の機能を使用する必要がある Web は日々良くなっているが、パフォーマンスとユーザ体験においてネイティブアプリに打ち勝つことはできない すべてのプラットフォームに一つのコードベースというのは、本当に悪いアイディア これはプラットフォーム毎に異なるため、多くのハッキングを必要とし、コードベースの管理を非常に困難にする すべてに繋がるモノリシックなアプリケーションを長期的に管理するのは難しい 解決策は、プラットフォーム毎にアプリケーションを構築することである ただネイティブやハイブリットアプリはインストールが必要なので、WEBをほぼ駆逐するほどみんな何十ものアプリをインストールする時代になると思いますか? それとも技術革新で、インストール不要になる可能性もあるのでしょうか? 最近はブラウザにアップロードして使うアプリもできてきているという話も聞きますが、 アプリとWEBの垣根がなくなって、JSができれば、一体化したものをやっていくことができるでしょうか? 私はWEBサイト制作をフロントをベースに行っているのですが、ワードプレスをやった方がフルスクラッチより、 よほどお金になるし仕事もたくさんあるともいわれます。 ワードプレスをやるか、せっかくフルスクラッチでhtml、css、jqueryをやってきたので、 中途半端な状況で広げるより、ここを極めて、北米では、WEB以上に盛り上がっている言われているハイブリットアプリ制作をやった方が 将来性はいいのかなとも思っています。 おそらく現状は、ハイブリットアプリ制作などの仕事はまだフリーランスの仕事はWEBと比べると圧倒的少ないでしょうが、 今後はハイブリットアプリ制作の方がフリーランスでも、WEBより仕事が多くなりそうでしょうか? これからどちらかをやるのであれば、今後衰退するワードプレスより、ハイブリットアプリ制作のほうが良いでしょうか? それともハイブリットアプリ制作などのアプリ制作は、大手企業しか作らないので、フリーランスの仕事は、今後も圧倒的に少ないままなので、 WEBは衰退するがワードプレスをやった方が良いと思いますか? 直接プログラミングの話でなくてすいません。

  • Webサービスのアイデアを下さい

    はじめまして。 私は学生で、バイトは探していますが見つからず、なかなか暇です。 Web関連の技術はいろいろあるのでWebサービスを作成してスキルを磨こうと思ったのですが、 なかなかいいアイデアが見つかりません。 見つけた!と思ったら既存です。 しかも、自分で考えると「出来ること」から考えてしまうので視野が狭くなりがちです。 そこで、皆様からのアイデアを募集したいです。 実際に、こんなWebサービス、サイト、アプリ、ソフトがあればいいなと思うものはありますか? またそれはどんなものですか? 出来れば具体的にお願いしたいですが、アイデアだけでも結構ですのでお願いいたします。

  • HTML+CSS+JSでのアプリ開発

    HTML+CSS+JavaScriptでAndroidやiOSアプリを作る事は可能だと聞いたことがあるのですが、ネイティブアプリとHTML+CSS+JSアプリとではできることにどのような違いがあるのでしょうか?僕が今作ろうと考えているのは募金アプリですので、ネイティブアプリだと募金額の30%取られてしまうのであればHTML+CSS+JSで行きますが、有料アプリを出す気は無いです。長期的な事を考えたらJavaから入る方がいいかもしれないですね。あとWebページを作りたいって訳じゃ無くて、募金アプリだったらどっちの方が良いかってこととネイティブに対してHTML+CSS+JSでする事にどういうメリットどデメリットがあるのかって事です。長くなってしまいましたが、ご回答頂けると嬉しいです。よろしくお願いします。

  • PHPでwebサービスの作り方(wsdl)

    PHPとFlash(actionscript)を連携させたいと思っています。 PHPが提供側、Flashが使用側になります。 FlashではWSDLを解析して、webサービスを使用できるように作っています。 PHPにPEAR:SOAPを組み込んで実装しようと試みたのですが、 WSDLで公開する実装の仕方が分かりません。 正直、あんまり、SOAP、WSDLの知識がいまいちなので、 うまく説明できてないかもしれませんが、 アドバイスよろしくお願いします。

    • 締切済み
    • PHP
  • ハイブリットアプリ制作の仕事は日本もだいぶ増える?

    ハイブリットアプリ制作が海外では主流になってきていると聞きますが、 WEBの技術でも作れるハイブリットアプリ制作の仕事は日本でもだいぶ増えてきているでしょうか? これからはWEBのフロントは、こちらが仕事の中心にしたほうが、収入もよくなるでしょうか? そのためにはJSが必須でしょうが、その場合、reactが一番良い選択でしょうか? それともバニラJSやbabelを使ったJSでも同じでしょうか?

  • ウェブアプリの開発方法について

    ウィンドーズアプリ開発5ヶ月のビギナーです。 microsoft C#2005で作った検索システムを数週間かけて作りました。 無論、作った検索システムは、デスクトップアプリです。 上司からあっさりと「このシステムをウェブで使えるようにせよ」とのお達しがきました。 簡単にウェブ上で使えるようにできるものなのでしょうか? それとも、全く違う言語でスクラッチしなおす必要があるのでしょうか? なお、 当方、ウェブアプリ開発経験・知識共に全くなしです 上司は、ソフト開発どころかエクセルも満足に使えない人です

  • 大規模Webサービスの運用・保守について

    いつも拝見させていただいております。 今回は、ネットワーク周りの技術について質問させてください。 大規模なWebサービスを展開するにあたってWebサーバ・APサーバ等が 複数台におよぶケースがあると思います。 そこで各APサーバに修正したアプリを一括配布をしたいと考えています。 上記のようなケースでWebサービスを停止せずに裏でアプリの配布を進めたいです。 こういった運用方法はすでに事例があると思うのですが、一般的な方法を調べたいと 思っています。 そのような情報が世に出回っているのかわかりませんが、配布技術またはこのような ツールを使用して実施している等、参考になる書籍等があれば教えていただけないでしょうか? 分野的にどこにあてはまるのかイマイチわからないので、本屋さんを漠然と探しましたが めぼしいものが見つかりませんでした。

  • web系技術者に行くには

    情報サービス産業の仕事をしています。 現在、汎用機系のソフトウェア開発にかかわっておりますが今後のことを見据え、 WEB系の開発にかかわるようにシフトを行いたいと考えています。 そこで自分なりに考えた結果、以下の知識・技術の習得が必須かなと考えました。 1.サーバ系言語   JavaもしくはC# 2.クライアント処理系の言語   jQueryもしくはSCALA 3.データベース知識   ベンダ製品系ですと、オラクル   体系的な基礎知識はデータベーススペシャリスト また、30歳からの転身は可能なものでしょうか? なお、私の略歴としては・・・ 30歳、男性。 業務開発経験のある言語としては、 C言語(制御系)、COBOL(業務系)、JavaScript(業務系)での開発経験があります。 ご教授のほどよろしくお願いいたします

  • Web開発コース(Node.js) このコースでは

    Web開発コース(Node.js) このコースではWeb開発に必要な知識を学ぶことができます。 Node.jsを使ってWebアプリの仕組みを理解し、実際に作れるようになりましょう!