Skip to content

Commit

Permalink
Merge pull request #258 from koriym/new-intorodocution
Browse files Browse the repository at this point in the history
New introduction
  • Loading branch information
koriym authored Apr 14, 2024
2 parents 23d9cb2 + f0ac8ca commit c360fb7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 28 deletions.
15 changes: 4 additions & 11 deletions manuals/1.0/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ permalink: /manuals/1.0/en/

# What is BEAR.Sunday

BEAR.Sunday is a PHP application framework that combines a clean object-oriented design with a resource-oriented architecture that follows the basic principles of the Web. It emphasizes standards compliance, long-term perspective, high efficiency, flexibility, self-description, and simplicity.

BEAR.Sunday is a PHP application framework that combines clean object-oriented design with a resource-oriented architecture aligned with the fundamental principles of the web. This framework emphasizes compliance with standards, a long-term perspective, high efficiency, flexibility, self-description, and importantly, simplicity.

## Framework

Expand Down Expand Up @@ -40,7 +39,7 @@ BEAR.Sunday is designed with a long-term view, focusing on application maintaina

- **Constraints**: The consistent application constraints imposed by DI, AOP, and REST remain unchanged over time.

- **Eternal 1.x**:Since its 1.0 release in 2015, BEAR.Sunday has not introduced any backward-incompatible changes. This eliminates the debt of compatibility fixes and their associated tests, providing a significant advantage. Applications can always be upgraded to the latest version without the burden of compatibility fixes or additional testing.
- **Eternal 1.x**:The System That Never Breaks Backward Compatibility. Since its initial release in 2015, BEAR.Sunday has continuously evolved without introducing any backward-incompatible changes. This steadfast approach eliminates the need for compatibility fixes and their associated testing, thereby preventing future technical debt. The system remains cutting-edge, ensuring easy upgrades and access to the latest features without compatibility concerns.

- **Standards Compliance**: BEAR.Sunday adheres to various standards, including HTTP, JsonSchema, and others. For DI, it follows Google Guice, and for AOP, it aligns with the Java Aop Alliance.

Expand All @@ -56,7 +55,7 @@ BEAR.Sunday transcends traditional web applications, offering seamless integrati

## Web Cache

The resource-oriented architecture of BEAR.Sunday naturally lends itself to distributed caching, inherent to the Web. By adhering to Web fundamentals, BEAR.Sunday leverages CDN-centric distributed cache systems to achieve the high performance and availability demanded by modern web applications.
By integrating resource-oriented architecture with modern CDN technology, we achieve distributed caching that surpasses traditional server-side TTL caching. BEAR.Sunday's design philosophy adheres to the fundamental principles of the Web, utilizing a CDN-centered distributed caching system to ensure high performance and availability.

- **Distributed Caching**: By caching on the client, CDN, and server-side, both CPU and network costs are minimized.

Expand All @@ -66,13 +65,7 @@ The resource-oriented architecture of BEAR.Sunday naturally lends itself to dist

## Performance

BEAR.Sunday is designed with a focus on performance and efficiency while ensuring maximum flexibility. By compiling the framework's functionality into a root object and resolving dependencies during compilation, it achieves an optimized bootstrap process. This compilation step results in improved startup times and overall execution speed.

- **Injection and Compilation**: By performing dependency injection at compile time, runtime overhead is minimized, resulting in faster application startup and execution.

- **Caching**: Resource-oriented architecture enables CDN-centric caching, minimizing PHP execution and database access.

- **Fast Boot**: Compiling framework functionality into a root object optimizes the bootstrap process, enabling ultra-fast responses when used with runtimes like Swoole.
BEAR.Sunday is designed with a focus on performance and efficiency while maintaining maximum flexibility. This approach enables a highly optimized bootstrap, positively impacting both user experience and system resources. Performance is always one of the primary concerns for BEAR.Sunday, playing a central role in our design and development decisions.

## Because Everything is a Resource

Expand Down
29 changes: 12 additions & 17 deletions manuals/1.0/ja/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ permalink: /manuals/1.0/ja/

# BEAR.Sundayとは

BEAR.Sundayは、クリーンなオブジェクト指向設計と、Webの基本原則に沿ったリソース指向アーキテクチャを組み合わせたPHPのアプリケーションフレームワークです。標準準拠、長期的視点、高効率、柔軟性、自己記述、それに加えてシンプルである事を重視します。
BEAR.Sundayは、クリーンなオブジェクト指向設計と、Webの基本原則に沿ったリソース指向アーキテクチャを組み合わせたPHPのアプリケーションフレームワークです。
このフレームワークは標準への準拠、長期的な視点、高効率、柔軟性、自己記述性に加え、シンプルさを重視します。

## フレームワーク

BEAR.Sundayは3つのフレームワークで構成されています。

`Ray.Di`[依存関係逆転の原則](http://en.wikipedia.org/wiki/Dependency_inversion_principle)に基づいてオブジェクトの依存をインターフェイスで結びます。
`Ray.Di`[依存性逆転の原則](http://en.wikipedia.org/wiki/Dependency_inversion_principle)に基づいてオブジェクトの依存をインターフェイスで結びます。

`Ray.Aop`[アスペクト指向プログラミング](http://en.wikipedia.org/wiki/Aspect-oriented_programming)で本質的関心と横断的関心を結びます。

Expand All @@ -29,19 +30,19 @@ BEAR.Sunday はフルスタック フレームワークとは異なり、認証

2つ目は「ライブラリを選択する権利と責任はアプリケーションアーキテクトにある」というものです。アプリケーションアーキテクトは、アプリケーションの要件、制約、および目的に最も適したライブラリを選択する能力と責任を委ねられています。

BEAR.Sundayは、フレームワークとライブラリの違いを"不易流行"として明確に区別し、アプリケーション制約としてのフレームワークの役割を重視します。
BEAR.Sundayは、フレームワークとライブラリの違いを"不易流行"(変わらぬ基本原則と時代と共に進化する要素)として明確に区別し、アプリケーション制約としてのフレームワークの役割を重視します。

## アーキテクチャ

BEAR.Sundayは、従来のMVC(Model-View-Controller)アーキテクチャとは異なり、リソース指向アーキテクチャ(ROA)を採用しています。こアーキテクチャでは、アプリケーションの設計において、データとビジネスロジックを統一されたリソースとして扱い、それらに対するリンクと操作を中心に設計を行います。リソース指向アーキテクチャはREST APIの設計で広く使用されていますが、BEAR.SundayはそれをWebアプリケーション全体の設計にも適用しています。
BEAR.Sundayは、従来のMVC(Model-View-Controller)アーキテクチャとは異なり、リソース指向アーキテクチャ(ROA)を採用しています。このアーキテクチャでは、アプリケーションの設計において、データとビジネスロジックを統一してリソースとして扱い、それらに対するリンクと操作を中心に設計を行います。リソース指向アーキテクチャはREST APIの設計で広く使用されていますが、BEAR.SundayはそれをWebアプリケーション全体の設計にも適用しています。

## 長期的な視点

BEAR.Sunday は、アプリケーションの長期的な維持を念頭に置いて設計されています。

- **制約**: DI、AOP、RESTの制約に従った一貫したアプリケーション制約は、時間の経過とともに変わることがありません。

- **永遠の1.x**: 2015年の1.0リリース以来、後方互換性の破壊を伴う変更はありません。定期的な互換性対応の改修とそのテストが必要という負債がありません。アプリケーションは常に最新バージョンにアップグレードでき、互換性のための改修やテストの負債はありません
- **永遠の1.x**: 2015年の最初のリリース以来、BEAR.Sundayは後方互換性のない変更を導入することなく、継続的に進化してきました。開発者にはフレームワークの定期的な互換性破壊への対応とそのテストが必要という将来の技術負債がありません

- **標準準拠**:HTTP標準、JsonSchema などの標準に従い、DIはGoogle Guice、AOPはJavaのAop Allianceに基づいています。

Expand All @@ -53,16 +54,16 @@ BEAR.Sundayは、Webアプリケーションを超えて、さまざまなクラ
HTTPを使用して全てのリソースにアクセスすることが可能です。MVCのモデルやコントローラーと違い、BEAR.Sundayのリソースはクライアントから直接のアクセスが可能です。

- **composerパッケージ**:
composerでvednor下にインストールしたアプリケーションのリソースを直接呼び出す事ができます。マイクロサービスを使うことになしに複数のアプリケーションを協調する事ができます
composerでvendor下にインストールしたアプリケーションのリソースを直接呼び出す事ができます。マイクロサービスを使わずに複数のアプリケーションを協調する事ができます

- **多言語フレームワーク**:
BEAR.Thriftを使用して、PHP以外の言語や異なるバージョンのPHPとの連携を可能にします。

## Webキャッシュ

リソース指向アーキテクチャは、Web本来の分散キャッシングを可能にします。BEAR.Sundayの設計思想はWebの基本原則に沿っており、CDNを中心とした分散キャッシュシステムを活用することで、現代のWebアプリケーションに求められる高いパフォーマンスと可用性を実現します
リソース指向アーキテクチャとモダンなCDNの技術を組み合わせることにより、従来のサーバーサイドのTTLキャッシュを超えるWeb本来の分散キャッシングを実現します。BEAR.Sundayの設計思想は、Webの基本原則に沿っており、CDNを中心に配置した分散キャッシュシステムを活用することで、高いパフォーマンスと可用性を実現します

- **分散キャッシュ**: キャッシュをクライアント、CDN、サーバーサイドに保存することで、CPU コストとネットワークコストの双方を削減します
- **分散キャッシュ**: キャッシュをクライアント、CDN、サーバーサイドに保存することで、CPU コストとネットワークコストの両方を削減します

- **同一性確認**:
ETagを使用してキャッシュされたコンテンツの同一性を確認し、コンテンツの変更があった場合にのみ再取得することで、ネットワーク効率を向上させます。
Expand All @@ -72,15 +73,9 @@ BEAR.Sundayは、Webアプリケーションを超えて、さまざまなクラ

## パフォーマンス

BEAR.Sundayは、最大限の柔軟性を確保しながらもパフォーマンスと効率性に重点を置いて設計されています。

- **インジェクションとコンパイル**: 依存関係の注入をコンパイル時に行うことで、実行時のオーバーヘッドを最小限に抑え、アプリケーションの起動と実行を高速化します。

- **キャッシング**:
リソース指向アーキテクチャにより、CDNを中心としたキャッシングが可能になり、PHP の実行やデータベースアクセスを最小限に抑えます。

- **高速起動**:
フレームワークの機能をルートオブジェクトとしてコンパイルすることで、最適化されたブートストラップを実現し、Swooleなどのランタイムを使用した超高速なレスポンスを可能にします。
BEAR.Sundayは、最大限の柔軟性を保ちながら、パフォーマンスと効率性に重点を置いて設計されています。
極めて最適化されたブートストラップが実現され、ユーザー体験とシステムリソースの両方に好影響を与えています。
パフォーマンスはいつもBEAR.Sundayの最大関心事の一つであり、設計と開発の決定において常に中心的な役割を果たしています。

## Because Everything is a Resource

Expand Down

0 comments on commit c360fb7

Please sign in to comment.