問題
Deno 安定版は約 3 ~ 4 年前に導入されました。当時、Node.js の作成者である Ryan Dahl が Deno のパトロンでもあったため、かなりの注目を集めました。はぁ!そうですよね。なぜ彼は自分の「子供」と競争するために新しいツールを作成したのでしょうか?
Ryan Dahl は、Node.js には重大な弱点があることを認めました。当初、Node.js はシンプルさと柔軟性に重点を置いて設計されました。しかし、何年にもわたって、すべてが制御不能になりました。 Node.js は非常に強力に発展し、ますます注目を集めていますが、人々がこの新星にすべてを詰め込もうとして、必要以上に複雑になってしまいました。
Deno は、Node の弱点に対処するために生まれました。しかし、立ち上げ当初はその強みを発揮できていませんでした。 Node の最大の利点の 1 つである npm サポートがないことは言うまでもなく、そのパフォーマンスは Node.js よりも劣っていました。これにより、事態はますます困難になりました。
好奇心旺盛な私は、Deno を使用していくつかのコード スニペットをすぐに試してみたところ、ライブラリ システムの不便さに気づきました。 「わあ、私のお気に入りのライブラリがこのプラットフォームに表示されるまでには長い時間がかかるかもしれない。すべてが新しく見え、見慣れないもののように見える。」と私は思いました!
ブログを「解体して再構築」し始めてからすべてが変わりました。テクノロジーの選択について何度も躊躇し熟考した後、Fresh という名前が誕生しました。ただし、Fresh はランタイム環境として Deno を必要とします。これまでに導入経験がなかったが、「単なる JavaScript 実行環境だ!」と考えていた。私にもっと自信を与えてくれました。次の話はこの記事です。
今日は、私がDenoと仕事をする際に「らしい」と感じる5つのポイントをまとめます。
TypeScript のサポート
Deno は TypeScript をネイティブにサポートしています。これは、他のライブラリのように .js への変換手順を経ることなく、.ts ファイルを直接実行できることを意味します。多くの人は、これが ts-node のような TypeScript コードを実行するツールを使用するのと違うのではないかと疑問に思っています。答えは間違いなく「はい」です。 ts-node が複雑なケースで動作するには TypeScript 構成ファイルが必要ですが、Deno は必要ないからです。 TypeScript のデフォルトのサポートにより、.ts コードを直接実行するプロセスが簡素化されます。
私は、自分自身でいくつかの小さなタスクを処理するためのスクリプトを作成することがよくあります。新しいスクリプトを作成するときは、.js と .ts のどちらを選択するかいつも迷います。そして Deno が登場すると、.ts がデフォルトの選択肢になりました。 Node プロジェクトでも、簡単なタスクを実行するスクリプトを作成する必要がある場合は、.ts を選択し、Deno を使用してそのコードを実行することを好みます。
複数の設定ファイルはもう必要ありません
JavaScript/TypeScript プロジェクト全般、特に Node.js に携われば取り組むほど、いつも疑問に思ったり、面倒に感じたりすることが 1 つあります。それは、設定ファイルが多すぎるということです。異なるプロジェクトにはそれぞれ異なる名前のファイルがあります。 package.json、package-lock.js、およびプロジェクトで Typescript を使用している場合は追加の tsconfig.js から...webpack、vite、tailwind、postcss などをさらにいくつか設定する必要があるかどうかは言うまでもありません...まあまあ!最初は不慣れのため、プロジェクトに登場する各設定ファイルの意味や使い方を理解するために本を読まなければならず、「一体どうやってこのような設定ファイルを何百も作成できるのか?」と静かに悪態をつきながら読みました。
Deno に移行したとき、設定ファイルがまったくないことに気づき驚きました。つまり、設定を行わずにプロジェクトを実行できるということですが、現実的ではありませんよね?存在するとしても、それは 1 つの deno.json ファイルです。 Deno は、多くの複雑な構成を巧みに削除するか、単一の JSON ファイルに配置しました。奇妙な名前が再び表示されることを気にせずにプロジェクトを開くことができて、本当に安心しました!
Web APIとノードAPIのサポート
Deno はこれまでも、そしてこれからも可能な限り Web API をサポートしようとしています。 Web API は、ブラウザで使用できる標準化された API のセットです。 Web API の適切なサポートにより、Deno で実行されるプログラムをブラウザーでも実行できるようになり、一度書き込めばどこでも実行できるというパラダイムに従います。これにより、「ユニバーサル」ライブラリへの道が開かれます。
サーバーレス、特に Cloudflare Workers を使用したことがある場合は、Workers が Node.js と完全に互換性がないことをご存知でしょう。そのため、Node 固有のライブラリを使用しても機能しない可能性があります。一方、ライブラリが Web API を使用しているか、Web API と互換性がある場合は、スムーズに動作します。これはデノにも当てはまります。
ノード API のサポートにより、Deno はほとんどの「パッケージ」を npm で実行できます。したがって、互換性を気にすることなく、npm パッケージを自由に使用できます。
新しいセキュリティメカニズム
Node プロジェクトを開始すると、デフォルトですべてのユーザーの権限が付与されるという明白な事実があるのは非常に奇妙です。これは、プログラムがユーザーに代わってシステム内のファイルに自由にアクセスしたり、コマンドを実行したりできることを意味します。かなり危険ですよね?最初に確認せずに誤って他人のプロジェクトを「実行」し、そのプロジェクトがあなたのマシン上のすべてのデータをスキャンし、サーバーに送り返したり、身代金のためにすべてのファイルを暗号化したりした場合を想像してください。そのときは、人生が台無しになったと考えてください。これは許しがたい間違いです。修正しました!
Deno は、アプリケーションの実行時にアクセス許可を要求するフラグを追加することで、この欠陥に対処しています。アクセス許可には、ファイル アクセス、インターネット アクセスなどが含まれます。プログラムがファイル システムにアクセスしたり、インターネットに接続したりする場合は、少なくともアクセス許可を要求する必要があります。例:
$ deno run --allow-read --allow-write --allow-net index.ts
「要求」する必要がある権限が多数あります。詳細については、「セキュリティとアクセス許可 |」を参照してください。デノドキュメント。最も簡単な方法は、-A または --allow-all フラグを使用してすべての権限を許可することです。
パフォーマンスは継続的に向上しています
私はそれが導入されたばかりの初期の頃を覚えています。 Deno はプログラムのパフォーマンスの点で Node.js に遅れを取っているように見えました。具体的には、ベンチマーク テストでは、同じプログラムを実行した場合の Deno と Node の違いが示されました。デノはいつもあと一歩及ばなかった。ある時点で、bun.sh が突然現れました。 Bun はパフォーマンスの点で両方の Node.js を上回っていたため、現象として浮上しました。これにより、デノはさらに鈍く見えました。
実際、bun を使用していくつかの Node アプリケーションを実行すると、かなりの数の問題やバグに遭遇しました。パンはまだ「本番」の準備ができていないようです。そのため、その時点では、安定性を愛する人にとっては Node が依然として頼りになる選択肢であると結論付けました。
最近、Deno 2.0 のリリースにより、パフォーマンスを向上させ、この「黒い恐竜」のプログラミング エクスペリエンスを強化するために多大な努力が払われました。彼らがリリースした最新のドキュメントによると、Deno は、有名な名前である Node や bun と比較して、あらゆる面で際立っています。
結論
上記はDenoと仕事をする際に私が気に入っているポイントです。アプリケーションをデプロイするための Deno Deploy を無料で提供するなど、さらにいくつかの機能があります。ただし、パフォーマンスやモジュール システム、Node との互換性の低さを「批判」する記事を今でも時々見かけます。これらの制限は、最新の 2.0 バージョンで解決されました。 Deno に対する私の見方は、最初にリリースされたときと比べて変わりました。Deno がコミュニティからさらに注目され、将来さらに飛躍することを願っています。
あなたはどうですか?デノを使ったことはありますか?この JavaScript 実行環境に関して、賞賛や批判はありますか?以下にコメントを残してください!
以上がデノのことが好きですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
