Skip to content

Commit

Permalink
Merge pull request #459 from elsoul/addFrontend
Browse files Browse the repository at this point in the history
Why Deno?
  • Loading branch information
KishiTheMechanic authored Nov 6, 2024
2 parents 31963ca + 8718789 commit 0151867
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 7 deletions.
53 changes: 47 additions & 6 deletions website/skeet-dev/articles/doc/en/general/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,19 @@ description: Skeet - TypeScript Serverless Framework. The Complete Web Framework

## The Complete Web Framework for Modern Developers

With Skeet v3, we’ve fully migrated to Cloudflare, eliminating cold starts and introducing support for edge runtime. It has been transformed into a edge-native architecture, optimized for the modern web.
In Skeet v3, we have eliminated cold starts, a common issue with serverless architectures, and introduced support for edge runtimes. This transformation makes Skeet optimized for modern web development, bringing an edge-native architecture.

🚧 The Skeet development team is currently focused on building v3. Active development is underway.
🚧 Currently, the Skeet development team is actively focusing on v3, with rapid progress being made.

For the latest updates, please join our official Discord community:

For the latest updates, join our official Discord community:
https://discord.gg/H2HeqRq54J

For documentation on versions running on Firebase (v1, v2), please refer to the following links:
For documentation on versions running on Firebase (v1 and v2), please refer to the following links:

v1 Documentation: https://skeet.dev/en/v1doc/general/overall-architecture
Skeet v1 Documentation: https://skeet.dev/en/v1doc/general/overall-architecture

v2 Documentation: https://skeet.dev/en/v2doc/general/overall-architecture
Skeet v2 Documentation: https://skeet.dev/en/v2doc/general/overall-architecture

## RC

Expand All @@ -28,3 +29,43 @@ Skeet v3 Edge Runtime Next.js: https://github.com/elsoul/skeet-v3-next-edge-rc
Skeet v3 SSG Next.js: https://github.com/elsoul/skeet-v3-next-ssg-rc

Skeet v3 Solana dApp: https://github.com/elsoul/skeet-v3-solana-dapp-rc

## We go with Deno.

![We go with Deno](https://storage.skeet.dev/WeGoWithDeno.jpg)

Deno, with its motto “Uncomplicate JavaScript,” offers developers a simple yet high-performance development environment. Not only is it easy to set up, but the new Deno performs nearly twice as fast as Node.js as a web server, delivering a more comfortable and faster development experience. This performance boost is achieved by utilizing the latest V8 engine and Rust technology to build a TypeScript-native runtime, drawing on the extensive knowledge of Node.js. Deno is designed with real JavaScript use cases in mind and complies with web standards, supporting a stable development environment with a standard library developed over four years.

![Why Deno](https://storage.skeet.dev/WhyDeno.jpg)

In the Skeet development team’s initial testing, simply migrating a `pnpm` project to Deno improved development server startup speed, operational speed, CI/CD processing, and drastically reduced build times.

Deno natively supports TypeScript and comes with essential tools for modern development, including a linter, formatter, and testing tools, all available out-of-the-box with zero configuration. In traditional Node.js projects, adding TypeScript, linters, formatters, and testing tools requires numerous modules and fine-tuning, leading to an increase in dependencies and node_modules size, which can complicate the project and slow down development.

![Deno Performance](https://storage.skeet.dev/DenoPerformance.jpg)

Deno addresses these challenges one by one, providing an ideal environment that allows developers to focus solely on coding. For more details, please refer to the official Deno v2.0 blog.

Deno v2.0: https://deno.com/blog/v2.0

## Feel the True Deno Experience

![Skeet Deno Fresh](https://storage.skeet.dev/ogpFresh.jpg)

While traditional npm projects also work seamlessly with Deno, to unlock the true performance of an edge-native environment, a Deno-native module structure is essential. Currently, Next.js heavily relies on npm, specifically on `package.json`, `tsconfig`, and React Compiler, making it challenging to achieve a Deno-native structure.

This is where “Fresh,” a Deno frontend framework providing a development experience similar to Next.js’s App Routing, comes into play.

Deno Fresh: https://fresh.deno.dev/

In Next.js, server startup takes a few seconds (although much faster than before), but with Fresh, the development server starts instantly upon executing the command, ready to use. This speed offers a new revelation for frontend developers. It’s like running a "Hello World" for a web API server, offering an instant start to the development environment.

Please compare the Next.js-based and Fresh-based versions for yourself. You can experience the difference through the following repository:

Skeet v3 Edge Deno Fresh: https://github.com/elsoul/skeet-v3-fresh-edge-web-rc

The Skeet v3 team continues to work daily to deliver these significant improvements in an intuitive and user-friendly way. Our main focus currently is on the development toolchain and creating a Deno-native Web3 development environment, primarily for Solana.

We welcome your feedback, so please feel free to join our Discord server!

Official Discord: https://discord.gg/H2HeqRq54J
42 changes: 41 additions & 1 deletion website/skeet-dev/articles/doc/ja/general/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: Skeet - TypeScript Serverless Framework. The Complete Web Framework

## The Complete Web Framework for Modern Developers

Skeet v3では、Cloudflareへの完全な移行を実現し、コールドスタートを排除するとともに、エッジランタイムのサポートを導入しました。これにより、Edge-Native なアーキテクチャへと変貌し、現代のウェブに最適化されています。
Skeet v3では、サーバーレスアーキテクチャの課題であるコールドスタートを排除するとともに、エッジランタイムのサポートを導入しました。これにより、Edge-Native なアーキテクチャへと変貌し、現代のウェブに最適化されています。

🚧 現在、Skeet開発チームはv3の開発に注力しており、活発な開発が進行中です。

Expand All @@ -29,3 +29,43 @@ Skeet v3 Edge Runtime Next.js: https://github.com/elsoul/skeet-v3-next-edge-rc
Skeet v3 SSG Next.js: https://github.com/elsoul/skeet-v3-next-ssg-rc

Skeet v3 Solana dApp: https://github.com/elsoul/skeet-v3-solana-dapp-rc

## We go with Deno.

![We go with Deno](https://storage.skeet.dev/WeGoWithDeno.jpg)

「Uncomplicate JavaScript」を掲げるDenoは、開発者にシンプルでありながら高性能な開発環境を提供します。セットアップの簡便さはもちろん、新しいDenoはWebサーバーとしての処理性能も従来のNode.jsの約2倍に達し、より快適で高速な開発体験を実現しています。この性能向上は、Node.jsの豊富な知見に基づき、最新のV8エンジンとRustの技術を活用してTypeScriptネイティブのランタイムを再構築することで達成されました。Denoは実際のJavaScriptユースケースを考慮して設計され、Web標準にも準拠しており、4年にわたる標準ライブラリの開発により、安定した開発環境を支えています。

![Why Deno](https://storage.skeet.dev/WhyDeno.jpg)

Skeet開発チームの初期検証でも、pnpmプロジェクトを単にDenoに移行するだけで、開発サーバーの立ち上げ速度や動作速度が向上し、CI/CDの処理も高速化され、ビルド時間が大幅に短縮されることが確認されました。

DenoはTypeScriptをネイティブでサポートしており、LinterやFormatter、テストツールといったモダンな開発に不可欠なツールが標準で備わっており、ゼロコンフィグで即座に利用できます。従来のNode.jsプロジェクトでは、開発に必要なTypeScriptやLinter、Formatterやテストツールを導入するだけでも複数のモジュールや細かな設定が必要で、初期設定や依存関係の増加によってnode_modulesが肥大化し、プロジェクトが複雑化することもありました。これにより開発速度の低下が懸念されることも少なくありませんでした。

![Deno Performance](https://storage.skeet.dev/DenoPerformance.jpg)

Denoはこれらの課題に一つ一つ対応し、開発者が本来のコーディングに集中できる理想的な環境を提供しています。詳しくは、以下のDeno v2.0の公式ブログをご覧ください。

Deno v2.0: https://deno.com/blog/v2.0

## Feel the True Deno Experience

![Skeet Deno Fresh](https://storage.skeet.dev/ogpFresh.jpg)

Denoでは、従来のnpmプロジェクトも問題なく動作しますが、Denoの真価を発揮し、Edge-Nativeのさらなるパフォーマンスを引き出すには、Denoネイティブのモジュール構成が不可欠です。現状、Next.jsはnpm、特に`package.json``tsconfig` (React Compiler等) への依存が強く、Denoネイティブの構成を実現することが難しくなっています。

そこで、Next.jsのApp Routingと同様の開発体験を提供するDeno製フロントエンドフレームワーク「Fresh」が登場しました。

Deno Fresh: https://fresh.deno.dev/

Next.jsの開発環境では立ち上がりに数秒(これは過去と比較して大幅に速くなったものの)時間を要しますが、Freshではコマンドを実行した瞬間に開発サーバーが立ち上がり、すぐにReadyの状態になります。この速さは、フロントエンド開発者にとって新たな発見となるはずです。まるでWeb APIサーバーの「Hello World」を実行するような軽快さで、開発環境が即座にスタートできる体験を提供します。

Next.jsベースのものとFreshベースのものをぜひ比較してみてください。以下のリポジトリから試していただければ、その違いを実感できると思います。

Skeet v3 Edge Deno Fresh: https://github.com/elsoul/skeet-v3-fresh-edge-web-rc

こうした大幅な改善を、これまでと変わらず直感的でわかりやすい形でお届けできるよう、Skeet v3の開発を日々続けています。現在の注力は主に開発ツールチェーン、そしてDenoネイティブのWeb3開発環境(主にSolana)です。

皆様からのフィードバックも大歓迎ですので、ぜひ私たちのDiscordサーバーにもご参加ください。

公式 Discord: https://discord.gg/H2HeqRq54J

0 comments on commit 0151867

Please sign in to comment.