Как си оптимизирах процеса за създаване на малки/средни панели за администрация

Темата, която смятам да дискутирам в този пост е много наболяла, поне за мен и поне в последно време. Желанието да се поемат всички възможни проекти без да се налага да наемаме допълнителен персонал или да караме клиентите да чакат с месеци за един елементарен уеб сайт ме накара да започна да търся различни решения, които да ми оптимизират процеса на работа.

Каква е истината? Истината е, че при нас идват главно средни и малки проекти с не особено голяма и различна функционалност, но все пак проект с проект не си прилича много много. Идеята да правя индивидуален и уникален административен панел за всеки един клиент е мой принцип и държа на него. Но в един момент това няма как да става, в противен случай се губят потенциални клиенти, които бягат при конкуренцията, която им слага техните готови МЕГА ЦМС-и. Всъщност на клиента май много много не му пука дали административния панел, който притежава ще бъде уникален или няма да бъде. Поне практиката до сега показва това нещо.

Но все пак окей или не, това си е моя принцип и няма да избягам от него. Решен съм да си подобрявам творчеството до като свят светува или поне до като мен ме има. Потърсих различни решения на проблема. Марио ми даде някакви идеи да се използва Django за бекенд, а пък CI за фронтенд. Честно казано ми харесват подобни иновации, но пък не искам да бягам от PHP-то. Чух и предложения за Ruby On Rails и тогава съвсем се отказах да търся такъв тип решение на проблема.

Започнах сериозно разглеждане на CakePHP, който се слави с по-бързо писане и най-вече голямото “automagic” животно, което е. Ами не ми допадна много. В интерес на истината даже ми стана малко противно. Убеден съм, че някой ден ще попиша малко повечко на него, та дано си променя решението.

Остана варианта да си търся изход в CodeIgniter / Kohana. И го намерих.

Ровейки се в Google с различни идиотски фрази успях да открия, това от което, аджеба имах нужда. Става въпрос за CodeCrafter. Много симпатичен CRUD CodeIgniter генератор. Какво прави той? Избирате база данни, избирате таблица и той ви генерира MVC автоматично. Най-хубавото е, че може да създавате рилейшъни, да давате имена на лейбъли да избирате типа на полето, да го игнорирате и какво ли още не. Абе с две думи – супер е!

За огромно съжаление е доста бъгав. Дизайна на приложението е доста неудобен и нефункционален. Няма опция да се определят задължителни полета и да проверява за тях. Няма опция за автоматично генериране на имейджи ако полето е блоб. Няма и други неща, които ми се искаше да има. Но пък нали за това сме ние :)

Сериозно съм решен в почивката, която предстои да си направя по-следващата седмица (бях обещал, че няма да се занимавам с програмриане…) да се хвана и да го оправя и допълня, така че да ми влезе на 110% в употреба. С леки промени по него успях да изгенерирам един админ панел с дейтабейс идея подобна/идентична на news.bg за по-малко от 4 минути, като естествено липсват някой малки нещица. Но факт, че за половин час успях да му дам един много приличен вид, напълно функциониращ и направо като бонбонче. Но защо да се ограничаваме само с админ панел, като самото приложение, може да бъде един много полезен инструмент и за фронтенд-а.  Е какво повече искате? Аз лично нищо :)


Дискусия

  1. Радослав Станков 16 август 2009

    Comment Arrow

    Преди година имах съшия проблем. Тогава гледа PHP frame-овете и все нещо не ми допадаше затова, вече от една година си ползвам собствен райлсо подобен framework(който някой ден ми се иска да пусна и opensource), и изграден върху него мини-cms. Като съм си направил 2-3-4 вида generator-и за различни ситуации и така си спестявам доста време и усилия.

    А CodeCrafter поне от малкото което видях сега, изглежда доста инстересно :)

    ОтговорОтговор

  2. admin 16 август 2009

    Comment Arrow

    Доста симпатично е наистина. Една много добра идея, останала неразвита, а може и да се е развила, но никой да не я е споделил :) Но в общи линии това с този тип „генератори“ е много добро като идея. Прави се едно ядро и всичко се навързва към него. Като съм убеден, че много много много неща могат да се спестят като писане, като крайния ефект остане същия. Иначе определено ме заинтригува с думите ти за различните генератори. Бих се радвал ако е възможно да получа малко по-подробна информация :)

    ОтговорОтговор

  3. Радослав Станков 16 август 2009

    Comment Arrow

    Ами тъйкато за разлика от сайтовете, където дизайна трябва да уникален. В административните модули нещата са доста по-различни. Там по-добре като UI да са подобни нещата.

    Имам както казах по-горе няколко шаблона за CRUD операции. Примерно editable table grid, който в един екран съчета всички CRUD операции е идеален за по-прости таблици. Както преди 1-2 седмици на бързо трябваше да направя да могат в един сайт да се добавят дати за събития който са само от 2-3 полета. Друг пък генератор генерира и категории към дадени неща, със дървета и другите необходими части.

    Общо взето това което е много хубавото на генерирания код, освен че пести време е и че когато искаш да развиеш даден компонент, да му добавиш нови функции, да се по разкраси малко, става много лесно.

    ОтговорОтговор

  4. Веселин 17 август 2009

    Comment Arrow

    Звучи доста интересно и много добро като идея. Смятам и аз да се потрудя малко в тази насока, като ако някой има различни идеи по тази тема и желае да ги види реализирани ще се радвам да ги сподели за да измислим нещо по въпроса :)

    ОтговорОтговор

Публикувай коментар (dofollow)

  • Author Avatar

    ТИ :)