質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • PHP

    20843questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Java

    14104questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • C#

    7437questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C

    3821questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • データベース

    719questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ソフトウェア設計

解決済

回答 6

投稿

  • 評価
  • クリップ 2
  • VIEW 725

Susanoo2442

score 139

ソフトウェア設計の流れについて
質問です。

ソフトウェアを作成するに当たって
いくつかの、言語を組み合わせて作る場合も
当然、あると思います。

そこで、質問なのですが
例えばeclipseで、Facebookやlineに似たような
SNSソフトを、Windows用に作っているとします。

そこで、ソフトの基本となるような所は
Cで、プログラミングして

ユーザー情報を管理するために
PHPで、プログラミングする必要性が出てきたとします。

となりましたら、どうやってこの2つの言語を
組み合わせて、開発すれば宜しいのでしょうか?

ご回答お願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 6

+2

・ユーザーが使うクライアントアプリをCで開発して配布する
・ユーザーを管理するWebアプリをPHPで開発する

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/03/30 01:17



    ご回答ありがとございます。

    まさしくそれが最終的にやりたい事と
    なります。

    そして、今その工程を模索している
    途中なのですが


    単純明快に

    C言語でのクライアント開発と

    PHPでの、Webアプリ開発なのですが

    この2つを関連付けると言いますか
    結びつける為には

    どういった手法を施せば
    良いのでしょうか?

    キャンセル

+2

失礼ながら、1つ前の投稿についた回答をご理解されていないように見えます。
LINE や Facebook はまず巨大なサーバー群が存在し、ユーザー情報などを管理しています。
アプリは、ユーザーから受け取った入力をサーバーに送信し、サーバーから受け取った情報をユーザーに提供します。

[LINE 会社]
サーバー(ユーザー情報の管理)

|インターネットを介して通信を行う

アプリ
[ユーザー]

SNS を作るにはまず、サーバー側とアプリ側の両方を作らなければなりません。
まずはこの2つを切り分けて考えて下さい。

それぞれは言語を組み合わせなくても、1つの言語で構いません。
サーバー側はPHP、アプリはC言語で問題ないと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/03/30 01:18




    ご回答ありがとうございます。

    2つを別に作る必要があるのですね!

    ちなみに、最終的にこの2つを
    結びつけるとなると

    どのような、手法を施せば
    宜しいのでしょうか?

    キャンセル

  • 2016/03/30 01:29

    サーバーに住所を設定すれば、後はアプリはその住所宛に通信を行うだけです。
    例えば Google の住所は www.google.com です。

    住所については、IP アドレスなどで調べればいいと思います。

    キャンセル

  • 2016/03/30 02:09



    ありがとございます。

    ちなみになんですが

    LineやFacebookは

    iphoneやアンドロイドに
    インストールして使うものと

    直接インターネットのブラウザにアクセスして使うものと

    PCにインストールして使うものが
    ありますけど


    それぞれ、なんていうアプリケーションか
    分かったりします??


    ネイティブなのか、ハイブリットなのか
    さては、Webアプリなのか


    この辺りが全然理解できて
    おりません。


    よろしければご回答お願い致します。

    キャンセル

+2

クライアントサーバモデルをお考えならば、ユーザーが使うクライアントをCで、ユーザ情報を管理するサーバサイドをPHPで、という感じになるかと思います。

この場合のデータのやり取りはHTTP通信で行う場合が多いです。サーバ(PHP)でREST APIを作成しておき、クライアント(C)からアクセスすることで、クライアント/サーバ間でデータのやり取りを行います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

他の方の回答とそれに対する質問者さんのコメントを読んでいると、最初の質問とコメントで質問者さんが
話されていることと内容が異なってきているようです。
最初の質問は
SNSシステムを構築する場合、ユーザーインターフェースとデータ管理を異なる言語で作成した場合、
この2つを繋ぐ部分はどのように実装するのか?例えばCとPHPの場合。
と言う意味だと思います。
しかし、コメントを読んでいると
サーバー側とクライアント側をどうやって繋ぐのか?
ということに関心があるように見えます。

何れにしろ、2つ(以上)のシステムが繋がる部分をインターフェースと言います。
インターフェースさえしっかり作られていれば、使用する言語は余り関係ありません。
(もちろん言語により、向き不向きはあります)

2つ(以上)のシステムが情報をやりとりする方法はプロトコルと言います。
Webで使われるプロトコルは HTTP が代表的です。

このあたりのこと (インターフェース、プロトコル、クライアント・サーバーモデル)などを
整理して再度質問をしてみて下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

checkベストアンサー

0

本来聞きたい回答とは異なるかもしれませんが(すいません...)
現実的なアドバイスだと、
CとPHPでプログラムを作って維持、管理する(継続的なプログラムのアップデート、テスト、デプロイも含みます)のであれば、RubyやC#などを使った方が、学習コストを加味しても、安価に、そしてよいものができる(特に運用面で)可能性はあります。

(一回作ったら更新も管理もしないようなアプリの話だったら考慮はいらないです...)

そのあたりも考慮に入れるのも、要件・設計の大事な要素です。

アプリケーションは、リリース(=ユーザーが利用開始する)がゴールではなく、リリースがスタートのなので、
初期開発だけのコストを考えるのではなく、運用面も考慮しないとその場しのぎの設計では悲しい結果を招くことが多いです、ご注意いただければと思います♪。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/07 18:12

    回答ありがとうございます。

    なるほど!
    勉強になりました!

    キャンセル

0

組み合わせて開発というところがイメージしにくいのですが…
もし、双方の言語で作ったシステムから双方を直接呼び出す
などと考えているとしたらオススメしません。

まず、データが主であり、プログラムは従であると考えましょう。
そのプログラム群は個々に関連性が薄いほどよい設計である
と考えて…

あー、ひょっとしてEclipseで複数言語を同時に開発する時の
ノウハウについて質問されてる?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

関連した質問

  • 解決済

    セキュリティソフトを作りたいのですが。。。

    **疑問!  クラッキングできないようにする、ソフトを作るのは可能ですか?            どうしても、バグって、できちゃいますよね?** あと、セキュリティソフトは、何言

  • 受付中

    AndroidStudioがisai vivid LGV32を認識してくれない

    androidstudioで作ったアプリを実機でデバッグをしようと思ったのですがisai vivid lgv32をUSBデバッグも許可しているのですがを認識してくれません。 エミュ

  • 受付中

    ソフトウェアにおける『技術力』って何でしょう?

    先日,最終回を迎えたTVドラマ「下町ロケット」を見て,ふと思いました. ソフトウェアに携わるエンジニアが開発した新たな製品を受注先に納める,コンシューマー向けに販売する, そう

  • 解決済

    職業について

    ちょっとした素朴な疑問です。皆さんは何歳ぐらいからプログラミングなどに興味を持ち始めましたか?また、どんな大学や専門学校に行って現在の職業につきましたか?自分は将来について少し悩ん

  • 解決済

    ブラウザ

    ブラウザに関して、疑問がございますので、 ご質問させていただきます。 よろしければ、ご回答いただければ、幸いでございます。 ブラウザとは、一部、コンパイルに関するプログラ

  • 受付中

    初心者です。私でも始められるプログラミングソフトを教えてください

    プログラミングを始めたいと思っている者です。 本当に何の知識もありません。考えとしては、webページを作ってみたいと考えていますが、それ以前に作るべきものがあればそちらを優先した

  • 受付中

    なぜソフトウェアという概念が誕生したのでしょうか??

    最近、CPUやメモリといったハードウェアに関する勉強をしています。 アセンブリ言語におけるハードとソフトの境界が非常に面白いですね。 ハードウェアとしては超基本的な部分は、足し

  • 解決済

    JAVAやOpenCVで作られたソフトでの画像の取込

    前提・実現したいこと ここに質問したいことを詳細に書いてください (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが発生し

同じタグがついた質問を見る

  • PHP

    20843questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Java

    14104questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • C#

    7437questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • C

    3821questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

  • データベース

    719questions

    データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます