0

特定の時間管理手法を誰かに説明する To Do リスト Web アプリを構築しています。サーバー言語をまだ知らないので、JavaScript と jQuery だけでこのアプリを作成しました。Web サイトにアクセスした人は誰でも、そのサイトのすべての JavaScript ファイルを表示できると想定して正しいでしょうか? このため、誰かがコードベースを簡単にコピーして使用できるのではないかと心配する必要がありますか?

ほとんどの Web アプリケーションは、クライアント側 (JS を使用) ではなく、サーバー側 (サーバー プログラミング言語を使用) でほとんどの計算を (データベースの使用を伴わない場合でも) 実行しますか? 人々がコードベースを見ることができないようにするためですか、それとも何か他の理由がありますか? (または、これは標準的な慣行ではありませんか?)

私は、Web アプリ開発の標準的な慣行や道路のルールが何であるかをまったく認識していないため、ご意見をお待ちしております。

用語が間違って使用されていることをお詫びします。

4

2 に答える 2

0

Javascript はまだ進化しています。Javascript エンジンなど。Chrome によって作成された V8 は、IE6/7 ブラウザーで知られている JavaScript エンジンとは比較になりません。もちろん、js、css、html コードはユーザーに表示可能であり、そのコードを縮小して難読化することはできますが、縮小を解除するのは簡単です。現在非常に人気のある傾向は、ほとんどのアプリケーション ロジックをクライアントに移動し、サーバーとの通信を RESTful API への AJAX 呼び出しで非同期に行うシングル ページ アプリケーション (SPA) を構築することです。

于 2013-06-14T18:37:43.100 に答える
0

Web サイトにアクセスした人は誰でも、そのサイトのすべての JavaScript ファイルを見ることができますか?

はい。難読化は役に立ちません。

このため、誰かがコードベースを簡単にコピーして使用できるのではないかと心配する必要がありますか?

あなたが持っているものに依存します。

通常、検証やデータベースへのフルアクセスなど、安全なものはサーバーに保持する必要があります。クライアント側はアクセスを制限する必要があります。通常、クライアント側にあるものは、純粋にプレゼンテーションと UX のためのものです。

ほとんどの Web アプリケーションは、クライアント側 (JS を使用) ではなく、サーバー側 (サーバー プログラミング言語を使用) でほとんどの計算を (データベースの使用を伴わない場合でも) 実行しますか?

タスクによって異なります。

場合によっては、開発者がロジックをサーバーに配置するだけです。サーバーの方が高速だからです。Google ルート案内と、無限の可能性を介してルートを計算する方法を考えてみてください。ローカルマシンにそれをさせたくないでしょう

ただし、一部のアプリは、インターネットに接続していなくても実行できる「オフライン ファースト」として設計されています。インターネット接続のプラグを抜いても (ある時点まで) 実行し続ける Gmail を考えてみてください。接続がないことを通知し、保留中のメールを送信するために接続が回復するまで待機します。

人々がコードベースを見ることができないようにするためですか、それとも何か他の理由がありますか? (または、これは標準的な慣行ではありませんか?)

検証や認証のように、時にはそうです。あなたがそれをどのように行ったか、何かを暗号化するときに何が起こっているか、またはパスワードをハッシュするためにどのソルトが使用されたかを人々に知られたくないでしょう.

于 2013-06-14T18:37:52.617 に答える