3

私は、コンテンツ管理と Web アプリケーションの構成を主な目的とするバックオフィス アプリケーションの開発に多くの時間 (実際にはあまりにも多くの時間を費やしています) を費やしています。これらのアプリを説明する方法は次のとおりです。

- Made with PHP
- Using a MySQL or Postgres or SQLite database
- Made of a lot of pages and features
- Very simple features, mostly data CRUD (create+read+update+delete into the database)
- Mostly made of forms
- UIs are usually quite simple (html + css + very basic javascript)

これらのアプリのすべてのデータ アクセス コードは、私が何年も前に開発したライブラリに依存しており、可能な限り再利用しています。この部分は時間がかかりません。

時間がかかるのは UI 部分で、主にデータ リストとフォームの設計です。WYSIWYG エディターを使用することは、ここでは非常に理にかなっていますが、生成されたコードはしばしば肥大化し、これらのツールは私が作成して使用したようなカスタム ライブラリに依存しないでください。

私は、Web Toolkit を使用することが、これらのツールの開発に費やす時間を短縮するもう 1 つの方法であると考えました。ですから、完璧なツールキットを探すのに時間をかける前に、その種の問題に関する意見や経験をいただければ幸いです。

免責事項 : MVC がどのように進むべきか、および CodeIgniter/Zend/WhatEver がどのように使用すべきフレームワークであるかについてのアドバイスを求めているわけではありません。私の質問は、アプリケーションを構築するフレームワークや設計パターンに関するものではありません。私の質問は、適切なツールを使用して単純な Web アプリケーションの開発を高速化し、そのコードをさらに再利用可能にすることについてです。

私が知らない素晴らしい Web アプリケーション RAD ツールはありますか?

シンプルだがフォームが重い Web アプリケーションには、どのツールキットを使用しますか?

PHP で書かれた、軽量で肥大化していない信頼性の高いツールキットはありますか?

前もって感謝します !


編集:これまでのところあまりフィードバックを得ていません:/私の質問が非常に幅広いことは承知していますが、多くの人が私が話しているのと同じ種類のプロジェクトに取り組んでおり、ツールキットを使用して生産性を向上させていると確信していますGWTWicketなど。それについて教えてください:)


9 月 28 日編集: 興味深い回答をありがとうございました。私が探しているものは、過去数か月で試したフレームワークではカバーされていません。PHP は、私の RAD のビジョンに使用するのに最適な言語ではないかもしれませんが、PHP は私がよく知っている言語であり、PHP を知っているのと同じように Python の学習にあまり時間をかけたくないので (今のところ) 、 私は自分でやることにしました。ウィジェットが必要になるたびに、最も再利用可能な方法でコーディングします...これまでのところとても良いです:)

いつかそのツールキットをオープンソースにするかもしれません。

4

9 に答える 9

1

http://agiletoolkit.org/をお試しください。必要なものだと思います。最小の時間/コードでの結果。

于 2011-04-07T20:46:07.470 に答える
1

私が過去数年間取り組んできた PHP プロジェクトは、まさにそのようなものです。フォームが重く、サーバー側のロジックが重く、冗長なフォームコーディングがたくさんあります。さらに悪いことに、それはすべてのフォームではありませんでした。時には実際に派手なレイアウトを行う必要があり (ツリー コントロールを作成するだけでも、ライブラリがなければ苦痛でした)、UI の独自の性質は、私が苦労することを意味していました。ブラウザは最初から最後まで癖があります。

そこで、より良いアーキテクチャとは何かを考えるようになりました。非常に強力なフォーム コントロール、豊富なグリッド、豊富なツリー、高度なレイアウトが必要であり、徐々に移行する必要がありました。どの PHP フレームワークも適合しないようでした。その後、一歩下がって、PHP である必要はなく、javascript である可能性があることに気付きました。すでに JavaScript の要件があったので、それでうまくいきました。最初に小さなライブラリ、jquery、prototype を調べましたが、十分に機能していないことが明らかになりました。そこで私は、Dojo、ExtJS、YUI、およびすべての非常に重い JavaScript ツールキットを検討し、ExtJS が最適なコントロールを備えていると判断しました。

iframe、外側のナビゲーション フレーム、その内側のアプリケーション フレーム、その内側の機能フレームなどに大きく依存する UI 構造がありました。最終的には、それらを外部から内部に移行することになりました。すべてが ExtJS になり、すべてが同じページに住んでいます。サーバー側のコードは同じままですが、Web サービスに移行されています。同時に、私たちは zend フレームワークを統合し、認証や翻訳など、独自に開発してはならないものをいくつか移植しています。

最終的な目標は、すべてのボイラープレートを台無しにすることなく、ビジネス ロジックだけを記述できるようにすることです。私のアプローチがうまくいくかどうかを知るのは時期尚早ですが、私のメッセージは、コードベースに対して批判的であり、自分で書き続けたい部分とライブラリに外注したい部分を決定することだと思います.

于 2009-09-27T16:45:51.800 に答える
0

あなたのアプリのように、 Symfonyが行く方法かもしれないと思います:

  • PHPで書かれています
  • Propel / doctrineに基づくORM(MySQL、Postgres、またはSQLiteを使用できるように)
  • 使用されるアーキテクチャとパターンは、複雑なアプリケーションで役立ちます
  • アプリケーションのデバッグ、文書化、およびテストに役立つツールがあります。
  • フォームの作成、検証、l10nとi18n、テスト、AJAXは簡単です(ここで説明されているsymfony内のフォーム、チェックしてください
  • アプリケーションの開発中にWebページのプロトタイプを作成するのは簡単です

あなたの人生を楽にするsymfonyフレームワークに実装された他のツール/プラクティス:

  • YAML構文を使用した完全な構成(読みやすく、理解しやすい)
  • スキャフォールディング機能は、データを編集するためのシンプルなCRUDインターフェイスを生成します。
  • フォームのサニタイズ、セキュリティ、キャッシング、ACLのコーディングについて心配する必要はありません。構成は必要ですが、重いコーディングは必要ありません。

唯一の欠点は、「symfonyのやり方」を理解するためにいくつかのドキュメントを読む必要があることです。しかしねえ、良いフレームワークは20%のコードと80%の良い習慣です。

私のポイントは、プロジェクトにSymfonyを使用したくない場合でも、Symfonyの機能と組み込みツールを確認する必要があるということです。これは、プロジェクトに必要な種類のツールだからです。

于 2009-09-01T12:15:46.387 に答える
0

Djangoのような「アプリベース」のインフラストラクチャを採用または作成する可能性はありますか? Django の場合、コミュニティはPinaxのようないくつかの強力なベースラインを作成しました。

于 2009-08-30T22:50:34.997 に答える
0

Django を使い始めましたが、非常に便利な機能があります。組み込みの管理者 (一般的な CRUD 用) と、非常に優れたフォーム処理コードとウィジェットのレンダリング。Python を使用する予定がない場合でも、アイデアを得るためだけに見てみることをお勧めします。

これはシステム アーキテクチャよりも RAD と UI/フォームに関するものであるため、「X フレームワークの使用」に関するアドバイスは不要だとおっしゃいました。しかし、優れたフレームワークは、アーキテクチャと同様に、UI とフォームの側面にも役立つことがわかりました。つまり、フレームワークは大規模なプロジェクトに最適ですが、コードの冗長性を減らすのにも非常に役立ちます。PHP で独自のヘルパー関数を作成し始めました。このヘルパー関数をアプリからアプリにコピーし、いくつかのパラメーターに基づいて HTML フォームを自動的にレンダリングします。多くの作業を行った後でも、これは Django が提供するものに比べて非常に初歩的であり、基本的に私は独自のフレームワークを作成していました。

役立つ GUI スタイルのツールを探しているかもしれませんが、この場合は優れた PHP フレームワークの方が役立つことに気付くかもしれません。少なくとも、独自のヘルパー ライブラリを作成してみましたか? 私はそれらが私を大いに助けたことを知っています。

簡単な例:

function renderInput($name, $value="") {
    print "<input type=\"input\" name=\"" . htmlentities($name) . "\" value=\"" . htmlentities($value) . "\" >";
}
function renderRadios($name, $value="", $choices=array()) {
    for ($choices as $cvalue) {
        print "<input type=\"checkbox\" name=\"" . htmlentities($name) . "\" value=\"" . htmlentities($cvalue) . "\" " . ($cvalue == $value ? "checked" : "") . ">";
    }
}

そしてそこから積み上げます。このような愚かなことは、フォームの作成をそれだけ速くする傾向があります。優れたフレームワークは、これを水から吹き飛ばします。そして、上記にはいくつかのタイプミスがあると確信しています.PHPを少しやったことがありません.

これがあなたが探しているものではない場合、質問にさらに追加していただけますか? 私は興味がある。

于 2009-09-28T04:23:18.467 に答える
0

PHP + MySql を求めていますが、OutSystems Agile Platform を試してみることをお勧めします。

シンプルな CRUD アプリを 10 分未満で作成し、より複雑なシステムに移行するにつれてアプリを拡張できます。

Community Edition はwww.outsystems.comから無料でダウンロードできます。

一番、

于 2010-07-05T14:55:49.017 に答える
0

現時点では、ソリッド フォーム クラスを使用して HTML フォームをレンダリングし、クライアント側とサーバー側の検証を行い、データベース クラスを使用して SQL を記述しています。約 10 行のコードで、管理コンソールの CRUD セクションを作成できます。これらのクラスは自分で作成したので、すべてのプロジェクトで再利用できます。うまくいけば、いくつかのアイデアが得られますか?

個人的には、WYSIWYG ツールには近づきません。

于 2009-08-03T13:49:37.870 に答える
0

私はNuBuilder.comをテストしています.数日以内にそれができることを発見しました.最初は有望に見えます. ご覧になりましたら、ぜひフィードバックをお寄せください。

于 2009-08-21T15:30:44.087 に答える
0

確かではありませんが、探しているのは Tibco General Interface (http://www.generalinterface.org ) のようです。

于 2011-05-05T21:39:01.723 に答える