久しぶりに名前で連絡はありませんでしたが、この秋の心地よい冬の朝に目覚めて、開発中の歯車サイト管理システムについての情報を持ち帰ることにしました。
そのため、考慮すべき情報を得るために、エンジンの発表とリリースのトピックに精通することをお勧めします。
それから何が変わったのですか? それが今日お話しすることです。
「アンダーザカット」に切り替えた後に必ず訪れる最初の質問は、さまざまな既存のソリューションから選択できるのに 、なぜ独自のCMS- kuを作成する必要があるのかということです。
私はよく同じ質問をします。 実際、答えがわかりました-より便利です。 ウェブマスターとして10年以上働いた彼は、ほとんどすべての公開されているエンジンに注意を払っていました。 それらの多くは今日かわいいです-Drupal 、 Wordpress 、 Joomla 、しかし、あなたはあなた自身、私より悪くない名前を知っています。
歴史ツアー
人は常に知識への渇望によってマークされています。 彼らはそれを正しいと言います-世紀を生き、世紀を学びます。 私はこのルールに従って生活しています。 したがって、単に既存のエンジンを研究して補足するだけでは十分ではありません。「から」に起こるすべてのことを理解し、システムのすべてのプロセスを研究し、「骨によって」すべてを分解し、ギアとネジ、より正確にはギアを組み立てる必要がありました独自のエンジン。他のシステムにはないものがすべてあります。
さらに、私自身の方法で使用されるCMSをカスタマイズしたいことがよくありますが、特定のサイト管理システムがどのように機能するかを深く理解すればするほど、すべてをより簡単に、またはより適切に行うことができるという感覚が強くなります。 そのため、2年前、素晴らしい会社Spb Software Houseを辞め、彼は独自のエンジンを作成し始めました。 エンジンの開発の最初の経験に興味がある場合は、2008年の夏の熱い追求で書かれたトピックを読むことをお勧めします。
2008年の秋に、 実績のある CodeIgniterフレームワークを基礎として、 歯車の開発を開始したことを思い出させてください。 2009年の春に、彼は招待状を集めるための「作品」を置き、6月中旬にリリースが行われました。
開発は単独で行われたため、その時点で行われたいくつかの重要なミスに注意したいです。
- リリースの前に、開発者には見えないバグを参加者が識別できるように、必ずクローズドテストを手配する必要があります。
疲労エラー( get_whereの代わりにActive Record CodeIgniterでgetリクエストを書いた)により、結果として誰もが私のアカウントで自動的にログインしたとき、それは非常におかしいことが判明しました:-)結果はトロルによって作成された一時的なカオスでした。 彼の力を集めて、彼はエラーを修正し、すべてが所定の場所に落ちました。 - システムが安定するまで、ベータ/アルファ/ガンマテストについてサイトで必ず示すようにしてください。
コギアの開発で私にとって最も重要なことは、巨大な経験です。 はい、 Drupalまたは他のエンジンの仕組みを完全に知っていると言えますが、独自のシステムを作成しようとしても、実際にすべてがそのようになるとは考えられません。 既製のソフトウェア製品を使用しているとき、あなたが考えない千の小さなことは常にあります。
特徴
歯車に関して私が最も重要と考える主な点を思い出させてください:
- CodeIgniterを搭載。
- 柔軟なフックシステムを備えた完全なモジュラー システム 。 ワンクリックでモジュール(ギア)のオン/オフを切り替えます。
- 詳細なドキュメント 。 PDF形式で含める。
- コードのすべての変更を追跡するだけでなく、簡単かつ簡単にアップグレードできるバージョン管理システム 。
- すべてのjavascriptおよびcssファイルを個別のファイルに「接着」します。 ファイルが自動的に取得されることに注意してください-適切なギアフォルダーに入れるだけです。 また、エンジンはファイルの更新を独自に監視し、出力の「接着」ファイルのアドレスに「?1234567」という形式のサフィックスを追加して、ブラウザの情報をタイムリーに更新します。 接尾辞を追加することにより、異なるブラウザ用に異なるスタイルセットとスクリプトを定義する機能。
例:
scripts.ie7.js
styles.opera9.6.css - ライブラリ、クラス、モデルの自動読み込み。 ファイルを目的のフォルダーに配置するだけで、クラスを呼び出すと、それ自体が接続されます 。
- 無料のGPL Second Editionライセンス。 最近まで、 Creative Commons Attribution-Noncommercial-ShareAlike 3.0 Unportedがありましたが、ライセンスを空の音と見なさない人はGPLをより好むことが示されています。
- 構文がSmartyに似ていますが、それよりもはるかに高速な独自のテンプレートエンジン 。 これは実際には、後者を対象とした単なるPHPラッパーです。
- あらゆる目的でのサブドメインの使用。
- インストールビデオは初心者向けです。
- 配布キットに含まれる多数の便利なモジュール(ギア):
- 国際化 複数のフォームを使用する機能。
- デモ
もちろん、エンジンは完璧ではないので、最も重大な欠点に注意します。
- HMVCへのMVCコンセプトからの逸脱 、およびそれに応じたCodeIgniterからのイデオロギー的距離。 フレームワークとエンジンのドキュメントを読んだ後、それが何であるかを理解できます。
- 現時点ではささやかなコミュニティ 。
- 特定の開発段階、特に初期段階から長く離れるほど、すべてをより有能に返したいと思うことが多くなります。 しかし、現在のタスクは、他の生活環境と同様に、まだこれを行うことを許可していません。 その結果、 CodeIgniterを使用せずにゆっくりと独自のカーネルを作成していますが、すべての原則と歯車の開発を保持しています。
結論
多くのハブロフスクの人々も素晴らしいことを知っているので、このトピックでは得た経験のほんの一部を伝えたいだけです。
私にとって、エンジンの開発は家を建てることに似ています。 もちろん、自分で建てるのではなく、完成した家を買うことを好む人が常にいるでしょう。 それぞれに独自の方法があり、私にとって、あなた自身のエンジンの開発は、まず第一に、経験であり、比類のない喜びです。
はい、私のことを知っている人に、私のコードは完璧ではないと言ってもらいましょう。しかし、毎日、ウェブ開発の新しい高みを理解しています。 私は何年もの間貯金箱で犯した過ちを合計して、苦情を起こさないように自分の仕事をすることを学んでいます。
過去6か月間、開発の手助けをしてくれたすべての人々に感謝したいと思います。
このトピックでは、以前に行ったようにスクリーンショットを提供しませんでした。 公式の cogear Webサイトとデモはフルモードで動作し、いつでもあなたの興味を満足させる準備ができているからです。