DVelum-PHP + ExtJS4開発プラットフォーム

Webインターフェースを使用したアプリケーションの開発プロセスを再確認できるプロジェクトを紹介します。

これは別のcmsやフレームワークではなく、高性能アプリケーション、データ管理システムを開発するためのプラットフォームです。

非標準の興味深いアプローチを作成する際に使用されました。 フレームワークとcmsにひどく欠けている明白なものを実装した、革命的なもの以外には何もありません。



このシステムのコンセプトは2008年に開発され始め、2011年にはさまざまな方向のいくつかのプロジェクトがDVelumに統合されました。



プロジェクトを作成した理由は、開発が豊富であり、その実装がオープンフレームワークで見つからなかったためです。 これらの決定は、困難な戦闘条件でテストされています。 プロジェクトを開発する際に人生を大幅に簡素化することができ、そのようなアプローチに人生の権利があることが明らかになった後、コミュニティとベストプラクティスを共有したいという要望が生じました。



プロジェクトはGNU GPL v3の下でライセンスされており、ベータテスト中です。現在のバージョンは0.8.4bです。

プロジェクトサイトdvelum.ru



プラットフォームに興味がある人


PHPでのWeb開発に関与している人。 WebサイトからCRMおよびERPまで、Webベースのインターフェイスを備えたさまざまなシステムの開発者。

OOP、デザインパターン、MVC、ORM、ExtJs4、開発マネージャー、主要プロジェクト開発者などの言葉を恐れない人。

DVelumを使用すると、初心者開発者のエラー数が減り、コード、特にExtJsインターフェイスを確認する際の頭痛の種が減ります。

また、ルーチンの一部から開発者を救います。 おそらく、経験の浅く資格のある専門家を複雑なプロジェクトにつなげて、視覚的なインターフェースでコンポーネントを投げる仕事をすることができます。



プラットフォームが解決するタスク:






プラットフォームの詳細な説明と技術ソリューションの機能については、公式Webサイトのドキュメントセクションを参照するか、コメントで質問してください。



主な機能



IDE


システムが置かれているクジラの1つは、組み込みのミニIDEです。これにより、アプリケーションインターフェイスを視覚的に構築できます。 その主な利点は、システムへの深い統合です。これにより、システム内の概念を操作したり、ORMやソースコードとやり取りしたり、コンポーネントの機能を簡単に拡張したりできます。







ORM


プラットフォームは独自の軽量ORMを使用し、さらに、データ構造を管理するための視覚的なインターフェイスがあり、開発を大幅に簡素化します。 ORMはデータベース構造を比較および同期することができ、これによりデータベースの展開が簡素化されます。 オブジェクトの多言語記述を実装しました。 インタラクティブなオブジェクトの依存関係図もあります。







疑問が生じるかもしれません-なぜ既製のORM、たとえばDoctrineを使用しなかったのか、それは構造と移植性の単純さを保証しようとすることです。 統合IDEとの最大の統合のために特定の機能が必要でした。 フロントエンドのパフォーマンスを向上させるために、モデルでデータサンプルを作成し、ORMを介して記録を行います。



バージョン管理


ドキュメントバージョン管理システム(この場合、ドキュメントはORMオブジェクトです)を使用すると、発行者のWebサイトからワークフローシステムへのニュースフィードのさまざまなプロジェクトを実装できます。 主な利点は、使いやすさと統合です(1目盛りを付けることで有効になり、プレビューできます)。



メディアライブラリー


メディアライブラリを使用すると、マルチメディアコンテンツの管理、画像の検索、編集、切り取り、プレビューの作成ができます。







足場


リクエストに応じて、システムはORMオブジェクトのCRUDインターフェイスを作成できますが、バージョン管理下のオブジェクトのCRUDインターフェイスを作成することもできます。 特徴は、コントローラーに加えて、IDE(ビジュアルインターフェース)プロジェクトが作成され、必要に応じて簡単に完成することです。

コード生成呼び出しは、ビジュアルインターフェイスを使用して実行されます。



展開


このシステムは、運用サーバー用のサービスパックを組み立てるための視覚的なインターフェイスを統合しています。 APIを使用して、ローカルマシンはサーバーをポーリングし、ファイルシステムマップを受信し、それを参照として自身と比較し、更新および削除するファイルのリストを提供します。 開発者は、更新するファイルを選択し、クリックしてzipアーカイブを収集します。これは本番環境に解凍できます。

公開システムを使用して、アプリケーションのソースコードにおけるサードパーティの干渉を監視できます。 プロジェクトのソースコードにjavascriptとiframeが表示されることは珍しくありません。システムは変更されたファイルのリストを決定します。



報告書


ビジュアルレポートデザイナーを使用すると、ORMオブジェクトの依存関係に基づいてデータサンプルを作成できます。 かなり粗雑ですが、有望なモジュールです。







Pages


CMS愛好家(フレームワーク愛好家向けのサイト構造管理モジュール)は、コントローラーの通常のルーティングを使用できます。







性能


このプラットフォームは、プロジェクトに最適化されたカーネルを提供し、そこから最大のパフォーマンスを引き出すことを試みました。

設計段階でシステムパフォーマンスの問題に非常に真剣に取り組みました。そのため、機能性や利便性を損なうことなく、他のほとんどのシステムとの大きな分離を達成することができました。



最大のパフォーマンスを得るためにシステムを適切に構成するには、「インストールとセットアップ」マニュアルを使用してください。



開発者にとってすでに「Hello world」のようなものになっている「ブログ」機能テストの例を考えてみましょう。 多くの場合、フレームワークの作成者は、「ブログ」機能をデモとして提示し、評価しました。







10エントリを含むブログのメインページへのアクセスをテストしました。



DVelumと一般的なCMSを比較する多くのテストを実施しましたが、ここではCMSがパフォーマンスを競うことができないため、ここで公開することは意味がないと思います。



もちろん、パフォーマンステストだけでシステム全体の品質を判断することは不可能です。さまざまな理由から、開発者は常にパフォーマンスに注意を払っていません。 DooPHP(http://doophp.com/benchmark)は、可能なパフォーマンスの点で価値のあるベンチマークであり、それを上回ることができました。 Leng Sheng Hong(著者DooPHP)、ロシアからこんにちは。



私たちはファッショナブルなテクノロジーを追求していません。私たちの仕事は複雑ではありません-開発者のための迅速で便利なツールキットを作ることです。 必要に応じて、新製品を自分で紹介できます。 お気に入りのフレームワークからお気に入りのライブラリを取得して追加できます。たとえば、Zend Frameworkライブラリを簡単に統合できます。



プロジェクトがまだベータテスト中であるため、なぜプロジェクトをhabrasocietyに提示することにしたのですか? リリース候補を作成する前にフィードバックを受け取りたいと思います。フィードバック、提案、提案、建設的な批判は私たちにとって非常に重要です。



このプロジェクトが有用であり、視聴者からの反応と独自のニッチを見つけることを願っています。

9月には、要望と提案を考慮して、最初の安定バージョンのリリースを試みます。



記事を読んでくれてありがとう。



質問に答えて、実装機能についてお話しします。



UPD 1:

パフォーマンステスト「Hello World」(テストのソースコードは、RC2以降のデモリリースで利用可能です)










All Articles