CMFおよびCMSを開発する際に知っておくべきこと。 2年の経験

PHPフレームワークでサイトを開発していて、まだ独自のプラットフォームを持っていない場合は、おそらくそれを考えたでしょう。 それは、CMF、CMS、サイトビルダー、コンポーネントのセットである可能性があります-素材はこれらのケースのいずれにも適しています。 記事では、独自のツールを作成しようとしている人、またはすでにこの道の初めにいる人のためのヒントと例を共有します。



CMFおよびCMSを開発する際に知っておくべきこと。 2年の経験



それをさらに発展させるという目標がなければ、ファンのための開発、新技術の研究、卒業プロジェクトについては話しません。 商用プロジェクト用のツールの開発についてお話します。



Web制作を行う各企業では、よく使用されるコンポーネントのセットを形成するのが自然です。 文字通りコンポーネントのセットである場合もあれば、模範的なプロジェクト(後で新しいプロジェクトを開発するための基礎となる)である場合もあり、 CMSまたはCMFに進化する場合もあります。 後者は、何らかの理由で人気のあるCMSでの開発が適切でない場合の企業の救済です。 開発者にとって、これはあなたが誇りに思うことができるクールな何かをする機会であり、あなたの給料を上げることができます(雇用主の妥当性に応じて)。



トピックに関する私の経験は何ですか
2年以上前、私はCMFに座っていました。 2か月の低迷の進行中の作業の後、最初のサイトがそのベースで作成されました。 このアイデアは第1四半期に成果を上げました。 開発を加速した同僚を結び付けました。 8か月後、四半期あたりの平均サイト数は以前の2〜3倍になり、同じ数の手とより良い品質が得られました。 その過程で、ドキュメントと顧客トレーニングを導入しました。 これは非常に短い場合です。


ベース



そこで、独自のツールを作成することにしました。 3つの基本的な質問を解決する必要があります。



  1. ターゲット選択。 このツールが必要な理由、解決するタスク、使用する領域、対象者。
  2. 基本的なツールの選択。 言語、テクノロジー、アーキテクチャー-これに基づいて、独自の何かを作成します。
  3. 機会とは何か、必要なリソースは何か。 これが小さなアイデアの実装であっても、計画が必要です。 これをどのように行うか、誰かを引き付ける必要があるかどうか、少なくともアルファ版や最初の作業プロトタイプに必要な時間を理解する必要があります。


ヒント



上記の3つの質問に答えるのに役立ちます。



  1. これを行う必要がある理由、既成のソリューションが適切でない理由を定義します。 引数が重要な場合、それはあなたに自信を与えます。 弱い場合は、時間の無駄を避けるのに役立ちます。



  2. 本当に解決する必要がある実際のタスクが必要です。 それらを解決した場合に変更される可能性のあるものにラベルを付けます。 戦闘ですぐに作成を確認できることを確認してください。



  3. 最初のバージョンから何を望むかを決めます。 残りは単純にリストに書くことができます。 最初のリリースであまり大きな目標を設定しないでください。 大きな目的のために-長い時間。 製品にできるだけ早く光が見えるようにします。 そして、最初の結果と最初のフィードバックを得るためだけに、改良します。



  4. 基礎として、シンプルなツール-言語、基本的なフレームワークを選択します。 エントリポイントが低いため、ツール自体の開発と最終製品の保守が容易になります。 しかし、彼はあまり人気がある必要はなく、ただ単純です。 彼も開発する必要があります。 たとえば、PHPフレームワークを選択し、開発者が作業を続け、最新バージョンのPHPのリリースの準備ができていることを確認します。



  5. すでによく知っているツールを選択してください。 そして、何か新しいものを選びたいなら、まずそれを学んでください。 一部の開発者は、新しいことをすぐに試して真面目なプロジェクトに取り組むことを好む-それは良いかもしれませんが、最初からそれを行う方法に関する知識が不足しているため、やり直しの点でより予測不可能で危険です。 有名なツールを使用すると、時間を節約できます。 あなたがその専門家であるなら理想的です。



  6. アーキテクチャに細心の注意を払ってください。 はっきりさせてください。干渉するのではなく、助けになるはずです。 基礎として選択した場合、最初はフレームワークに依存します。 そして後で-あなたからのみ。



  7. ドキュメントについてすぐに考えてください。 目標、計画を決定-修正。 発明されたアーキテクチャ-説明。 主要機能の準備-何が起こったかを記録します。 構造化、既に実装されているもののアンロード、新しいアイデアの触媒になり、ミスに目を向けるのに役立ちます。



  8. (一般的に)サイト管理にバックエンドを使用することになっている場合は、すぐにバックエンドに高品質の有料テンプレートを使用してください。 テーマフォレストまたは他の同様のリソースで選択して購入できます。 選択するときは、クールなテンプレートのように発生しますが、自分用に使用を開始すると問題が発生するため、タスク用にビルドできるかどうかを検討してください。 テンプレートオプションは予算が多く、高速です。 経済的な機会があれば、そのようなインターフェースの経験を持つUIおよびUXの専門家を引き付ける方が良いでしょう。



  9. 継続的なツールの改良に備えてください。 loggingは伐採の合間に絶えず研がれなければなりません。 したがって、プロジェクトの責任者は、長い間プロジェクトの面倒な仕事に慣れていない人でなければなりません。



  10. 単なるプログラミング以上の準備をしましょう。 発明し、残りを伝え、教え、などする必要があります。



  11. リーダーや同僚にあなたのアイデアを伝え、彼らの支援を求めてください。



  12. コード保護、ライセンス、および著作権の問題について尋ねます。 それらをすぐに解決する必要はありませんが、自分の位置を決定する必要があります。


私の例



以下の理由は真実であると主張していません。 これは、私のアイデアを成功に導いた一連の思考の例です。



前提条件。 同社はまともなコードベースと遊牧機能を備えた多数のサイトを蓄積しています。 新しいサイトを開発するプロセスは、過去のプロジェクトからの苦痛な検索とコピーアンドペーストです。 プロセスの最適化は、標準プロジェクトの開発速度の向上に役立ちます。 これで、自動車ビジネス向けの3つの単純なモデルプロジェクトがあります(したがって、具体的です)。このプロジェクトでプラットフォームを開始できます。



既製のソリューション(一般的なCMS)が適合しない理由。 それらは重く、同時に私たちの仕事には過剰で不十分です。



目的。 ビジネス用の企業サイトの開発を加速するツールが必要です。 開発者向けに設計されています。 開発者はCMFを選択し、出力でタスクのクライアントのCMSを受信するため、開発者のCMFが目標です。 CMFを製品として販売するという目標は設定していません。



最初のリリース。 1か月で、組み込みアーキテクチャの情報サイトを展開するためのツール、新しいテンプレートの管理パネルの基本インターフェイス(ユーザー管理、最初のモジュールの管理-情報ページ、ニュース、レビュー、メニュー、アプリケーション、サービス)、これらのモジュールの基本レイアウトをフロントエンドで見たい。 これにより、自動車ディーラーのサイトを2倍速く作成できます。



建築 CMFのコンポーネントは、可能な限り分離する必要があります。 特定のモジュール性を編成するため、アーキテクチャとしては、HMVCの方が適しています。



基本的なツール。 PHP5、CodeIgniter3、MySQL、Bootstrap3、jQueryを選択します。 私はそれらをよく知っています。彼らはできるだけ早く簡単に問題を解決するのを助けてくれます。彼らは開発者にとってエントリーポイントが低いです。 GoogleDocsが適しているため、すぐに文書化します。 バックエンド用にBootstrapに基づいて3つのテンプレートを選択しました。一緒に選択します。



最初のリリースのリソース。 計画コスト-70〜100時間。 現在のタスクを考慮に入れるために、6月または中旬のPHPの助けが必要です。



この正当化により、あなたはすでに頭と同僚に行くことができます。



All Articles