• 締切済み

サーバ側とクライアント側のjavaScript

「サーバサイドでjavascriptを実行させる」というのはどういうことなのでしょうか? node.js や、 イントラマートを使っているときは、 サーバサイドでのjavascriptというのも 全然理解できるのですが、 それらの基盤を使用していなくても、 サーバサイドの処理に、javascriptを使うことができるのでしょうか? 基本、jspの上の方に、 「サーバ上にあるjavascript」が クライアントサイドで動くと捉えており、 そういう意味では、基本、javascriptはクライアントサイドで動くと捉えているのですが違うのでしょうか? ※java+jspで実装しています。 .

  • Java
  • 回答数4
  • ありがとう数4

みんなの回答

回答No.4

>回答No.3 amanojaku1 そんなに出て来ているとは知りませんでした。 >Rhinoと呼ばれる実行基盤と >Nashornと呼ばれるJavaScriptパーサーが存在し、 >これはJavaから起動できるそうです。 JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM https://www.publickey1.jp/blog/18/javajavascriptnashornecmascriptgraalvm.html >JavaVM上でJavaScriptを実行する機能としては、Nashorn登場以前からMozillaが開発したオープンソースのRhinoが存在しており、Java 6からサポートされていました。 >NashorhはこのRhinoを置き換える形でオラクルが開発を始め、ECMAScript 5.1に対応したより高速でセキュアなJavaScriptエンジンとしてJDK 8に搭載されました >しかし今回のJEP 335で非推奨となり、将来的にはこの機能がJDKからなくなることが予想されます。 >非推奨の理由として、JavaScriptの言語仕様を策定しているECMASccript仕様の進化が速く、それに追随していくのが難しくなっていることが挙げられています >Nashornが非推奨となることに対する代替措置として提案されているのが、オラクルが多言語対応VMとして開発を進めているGraalVMおよびそのうえでJavaScriptを実行可能にするGraalJSの利用です。GraalVMは単一のVMとしてJavaやJavaScriptだけでなくRubyやPythonなども実行可能な仮想マシン。

回答No.3

>回答No.1 amanojaku1 >それらの基盤を使用していなくても、 >サーバサイドの処理に、javascriptを使うことができるのでしょうか? (Node.jsのような開発基盤が無い)サーバだけでは、JavaScriptは実行できません。 前述したページの記事によると下記のように解説されています。 初心者向け!3分で理解するNode.jsとは何か? https://eng-entrance.com/what-is-nodejs >JavaScriptはブラウザ上だけではなく、サーバサイドでも動く。PHPやJavaなどと同じような使い方ができるということだ。 >サーバサイドJavaScriptと呼ばれるが、その中でも代表的なのがNode.jsだ。現状は、他にそこまで有名なものもないので、「Node.js = サーバサイドJavaScript」だと認識しておけばいいだろう。

paranoia23
質問者

お礼

◆JVM Rhinoと呼ばれる実行基盤と Nashornと呼ばれるJavaScriptパーサーが存在し、 これはJavaから起動できるそうです。 ◆nodyn Node.jsのAPI実行環境を JVMで実装し直してNode.jsと同じAPIが動くようにしたものがこれだそうです。 ◆otto Javaではないですが、Golangには JavaScriptインタープリターがあるようです。 ◆nginScript nginxではこれでJavaScriptを実行できるようです。 普段使っていない機能なので難しそうです。 もっと簡単にできそうなのがあればよいのですが。。 .

回答No.2

>回答No.1 amanojaku1 下記は当方が作った(クライアント・サイド)JavaScriptのデモです(ブラウザ上で動いています)。 CheckQuestion015 http://ashtarte.pa.land.to/test/CheckQuestion015.htm CheckQuestion031 http://ashtarte.pa.land.to/test/CheckQuestion031.htm RolloverText006 http://ashtarte.pa.land.to/test/RolloverText006.htm

paranoia23
質問者

お礼

クライアントサイドで書く方は大丈夫です。 (javascriptが書けないのではなく、  特別な基盤なしで、サーバに実行させる仕組みがわからない感じです。) 文面見るに、node.jsとかがなければできなさそうですね。 .

回答No.1

>「サーバ上にあるjavascript」が >クライアントサイドで動くと捉えており、 >そういう意味では、基本、javascriptはクライアントサイドで動くと捉えているのですが違うのでしょうか? クライアント・サイド・JavaScriptはブラウザ上で動きます。 ですのでブラウザごとにJavaScriptは非互換な部分があります。 ブラウザごとの「HTML、CSS、JavaScript」の非互換な部分を踏まえ、メジャーなブラウザで同じ表示を再現できる状態のことをクロス・ブラウザと言います。 初心者向け!3分で理解するNode.jsとは何か? https://eng-entrance.com/what-is-nodejs >JavaScriptはブラウザ上だけではなく、サーバサイドでも動く。PHPやJavaなどと同じような使い方ができるということだ。 >サーバサイドJavaScriptと呼ばれるが、その中でも代表的なのがNode.jsだ。現状は、他にそこまで有名なものもないので、「Node.js = サーバサイドJavaScript」だと認識しておけばいいだろう。 >サーバサイドで動くというとPHPなどと一緒だと思われたかもしれないが、実はまったく違う。 >そもそもNode.jsがサーバサイドで動くプログラムという説明自体が正確ではない。より正確に言うと、Node.jsはサーバサイドでJavaScriptを実行できるようにしてくれるものだ。プラットフォームという表現が正しい。

paranoia23
質問者

お礼

ありがとうございます、理解は深まったのですが、サーバサイドでjavascriptを実行できることができるフレームワークがあること自体はわかっているのです。 それらの基盤を使用していなくても、 サーバサイドの処理に、javascriptを使うことができるのでしょうか? .

関連するQ&A

  • javaScriptのセキュリティ

    javascriptの処理は、 クライアントサイドで改竄可能だと思っており、 高いセキュリティが求められる処理は、 サーバサイドがよい認識で合っていますでしょうか? 例えば、SQLインジェクション対策をjavascriptでしていたとして、以下の手順だとすり抜けられたりしないでしょうか? (1)ウェブページを表示して、ブラウザの「html保存」でクライアントサイドに保管する。 (2)html内で宣言されたjavascriptの各リンクも、一旦ダウンロードする。 (3)クライアントに落としてきたjavascriptを改竄する。 (4)クライアントに落としてきたhtml内のjavascriptのリンクをローカルのjavascriptに差し替えて、 サーバにリクエストする。 高いセキュリティが求められる処理は、 サーバサイドがよい認識で合っていますでしょうか?

  • javascriptでサーバ上のActiveserverPageを実行

    javascriptを使って、サーバ上のActiveServerPageの処理を実行することは可能でしょうか? 想定しているのは、クライアントがページを表示させた時に onloadかなにかでJavascriptの関数を起動し その関数上でhttp:///・・・・.aspファイルを実行のようなイメージです。

  • JSその物でサーバサイドのプログラミングが出来る?

    JSその物やtypescriptでもサーバサイドのプログラミングが出来ると思って良いのでしょうか? JSその物nodeやexpressは、全く別の言語と思った方が良いのでしょうか? それともJSその物やtypescriptないしはバベルを学べば、同じ文法同じめどっどを使って、ほぼ同じように、トイアワセフォームやショッピングカートなどが作れるようになるのでしょうか? JSその物やtypescriptでも、nodeやexpressと組み合わせれば、 問い合わせフォームやショッピングカートのサーバサイトのWEBアプリが作れるというような情報をその後見つけました。 私が知識不足でJSその物やtyescriptではサーバサイドのプログラミングは出来ず、NodejsやEXPRESSは、 JSその物やtyescriptとは違う言語のように大きく違う物と思っていましたが、下記をみるとあまり変わらず、 クライアントサイドがJSその物やtyescriptで出来れば、NodejsやEXPRESSを同じように作れるのかもしれませんね。 http://okamuuu.hatenablog.com/entry/2016/02/02/165404

  • nodeでJavaScriptの標準入力

    JavaScriptを勉強中です。実行環境はnode.jsを使用しています。標準出力の代わりにはconsole.log();を使用しているのですが、標準入力の代わりになるようなものは何かないのでしょうか?できれば一行で簡潔に書ける関数がいいです。getsとか。readlineとか。そういうの何かないのでしょうか? 僕が使える言語は、Ruby、Java、C、Python、Common Lispです。 これらの言語を身につけた時と同じように、JavaScriptもまずCUIで色々オモチャを作って、言語仕様を理解したいのです。 JavaScriptは、上記のようなサーバサイド向けの言語とは違い、クライアントサイドのDOM操作が中心で、素直にブラウザで実行して勉強すればいいのはわかっているのですが、prototypeの継承とかprivate変数の使い方とか名前空間についてキチンと理解するにはCUIで遊ばないとダメな気がして、それで標準入出力の代わりになるものが欲しいと思ったのですが、ないのでしょうか? それとも、そもそもまずは言語仕様をCUIで勉強するっていう発想自体がやっぱり間違っているんですかね?簡易CGIサーバでも用意してdocument.writeでブラウザに表示した方がいいのかな。でもブラウザで勉強するにしても、文字列の入力ができないと捗らない気がします。まさか文字列の入力にはフォームでも使えってことなんですかね? 回答よろしくお願いします。

  • クライアントの画面にちょっとずつ表示

    お世話になります。 JSPなどをもちいてクライアントの画面(ブラウザ)にちょっとずつ画面を表示していくにはどうしたらよいですか? イメージ的にはプログレスバーみたいなものをブラウザに表示したいのです。 JavaScriptではなしに 今現在サーバで処理されている状況をクライアントにちょっとずつ流したいのです。 もちろんセッションが切れるほど長い処理ではなく、 数秒から数十秒で終わる処理です。

  • そもそも、外部変数はクライアント側とサーバ側で矛盾を来たさないのでしょうか?

    phpには$_POSTなどがあり、これはクライアントサイドの情報をサーバサイドに送るシステムとも言えます. そして、一般的には,一つのサーバに対して、クライアントは複数います.(例 webサイト) 今,サーバSを利用しているクライアントA,Bがいるとします.一方、websiteでは、初期変数  $_POST["param"]=="initial"; とされています.クライアントの操作によって、この値は,変わっていきます.そうすると、クライアントAの操作によって  $_POST["param"]=="valueA" になった状態のときに、クライアントBが  $_POST["param"]=="valueA" を引きずって、処理を受けるとしたら都合が悪いです. 引きずる値は,   $_POST["param"]=="initial" でないと困ります.おそらく、PHPは、この点については対処してるんだと思います.どういう機構で対処されてると考えればいいでしょうか?

    • ベストアンサー
    • PHP
  • .NET Frameworkでサーバ側の処理

    最近、マイクロソフトの.NET Frameworkを利用した、 リッチクライアントの実現(スマートクライアント) についてよく耳にするのですが、いまいちイメージがつかめないので質問させていただきます。 サーバ側にはビジネスロジックのみを実装し、 クライアント側ではユーザーインターフェイスのロジックのみを実装させることで、更新処理を効率化できるとあるのですが、 ・サーバ側で実装するビジネスロジックは、.NETの言語の で記述できるのですか? ・またクライアントから、どのようにしてサーバー側の  ロジックを呼び出すのでしょうか? 全くの初心者質問であるのですが、 なにか情報をお持ちでしたら ぜひ教えていただければと思います。 よろしくお願い致します。

  • JavaScript → Bean(DB接続)

    JSPを使用して、テキストフィールドに記述、ボタンを押下するとDBに登録されるというのを作りたいと思っています。 最初は、ボタンの押下(JavaScript)→クラスの呼び出し(JSP)→Beanとやろうと思っていたんですが、JSPはサーバー側の処理なのでできませんとのことで、JavaScript→Beanを考えています。 ・・・が!!JavaScriptでJavaは使用できるのでしょうか? 検索をしたんですが、アプレットの関数を呼び出すことができるという事以外分かりませんでした。 では回答よろしくお願いします<(_ _)>

  • ブラウザーからサーバ側のaspファイルを読み込む方法について

    クライアント側のVBscriptやJavaScriptなどのスクリプト 言語から画面を遷移しないでプログラム内でaspファイルを 呼びサーバ側での処理をした後にまたその後のプログラム を実行するような処理をしたいのですがどのように記述し たらよいのでしょうか? (クライアントのプログラム内でサーバ側のaspファイルの 関数を呼び処理の結果をクライアントのスクリプト言語に 反映させたいのですが。。。)

  • サーバサイドでjavascriptをレンダリング

    お世話になります。 早速ですが、ご質問させて頂きます。 サーバサイド側だけで外部サイトを読み込み、(javascript実行済みの)htmlをテキストファイルへ書き込むという処理を作成したいと思っています。 PHPだけではできないらしく調べたところ、サーバサイド側でjavascirptをレンダリングできることがわかったのですがそこから手詰まってしまい困っています。 上記を実現するサンプルソースやオススメサイトなど何でも結構です! 何かしら方法の糸口がありましたらご教授のほど宜しくお願い致します! 開発環境: MacOSX10.6.8

専門家に質問してみよう