Быстрая разработка веб-приложений с помощью Web Toolkit - PullRequest
3 голосов
/ 03 августа 2009

Я трачу много времени (на самом деле слишком много) на разработку приложений для бэк-офиса, основной целью которых является управление контентом и настройка веб-приложений. Вот как я могу описать эти приложения:

- 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)

Весь код доступа к данным в этих приложениях основан на библиотеке, которую я разработал несколько лет назад, и использую каждый раз, когда могу. Эта часть не занимает много времени.

Что занимает много времени, так это часть пользовательского интерфейса, и в основном это разработка списков данных и форм. Использование редактора WYSIWYG имело бы здесь большой смысл, кроме тех, которые я пробовал (Dreamweaver, Frontpage, Expression, Eclipse, ...), на самом деле не делает это намного быстрее, потому что сгенерированный код часто раздут, и эти инструменты не полагайтесь на пользовательские библиотеки, такие как созданная и используемая мной.

Я подумал, что использование Web Tookit может быть еще одним способом потратить меньше времени на разработку этих инструментов. Поэтому, прежде чем я потрачу слишком много времени на поиск идеального инструментария, я был бы признателен за ваше мнение и опыт по этому вопросу.

Отказ от ответственности: я не ищу советов о том, как MVC - это путь и как CodeIgniter / Zend / WhatEver - это фреймворк, который мне следует использовать. Мой вопрос не о фреймворках или шаблонах проектирования, на которых я должен строить свои приложения. Мой вопрос касается использования правильного инструмента для ускорения разработки простых веб-приложений, а их кода - еще более многократного использования.

Есть ли какой-нибудь замечательный RAD-инструмент для веб-приложений, о котором я не знаю?

Какой инструментарий вы используете для простых, но загруженных веб-приложений?

Есть ли хорошие, легкие, не раздутые, надежные наборы инструментов, написанные на PHP?

Заранее спасибо!


Редактировать: Пока не получаю много отзывов: / Я знаю, что мой вопрос очень широк, но я уверен, что многие люди работают над теми же проектами, о которых я говорю, и имеют улучшил свою производительность, используя такие наборы инструментов, как GWT , Wicket и другие. Расскажите мне об этом, пожалуйста:)


Редактирование 28 сентября: Спасибо всем за интересные ответы. То, что я ищу, не охватывается какими-либо рамками, которые я мог бы попробовать в последние месяцы. PHP, вероятно, не лучший язык для моего видения RAD, но так как это язык, который я знаю очень хорошо, и так как я не хочу тратить слишком много времени на изучение Python, так же как я знаю PHP (на данный момент) Я решил сделать это сам. Каждый раз, когда у меня возникает особая потребность в виджете, я кодирую его наиболее удобным для использования способом ... пока все хорошо:)

Я мог бы когда-нибудь открыть этот инструментарий с открытым исходным кодом, и я дам вам, ребята, знать.

Ответы [ 9 ]

1 голос
/ 08 апреля 2011

Пожалуйста, попробуйте http://agiletoolkit.org/. Я думаю, это то, что вам нужно. Результаты с минимальным временем / кодом.

1 голос
/ 27 сентября 2009

PHP-проект, над которым я работал последние несколько лет, очень похож на этот. Тяжелая форма, тяжелая логика на стороне сервера, но много избыточного кодирования формы. Хуже того, дело было не во всех формах, иногда нам действительно нужно было придумать макет (даже простое управление деревом - это боль без библиотеки), а самодельный характер интерфейса означал, что я буду сражаться браузер извращается от начала до конца.

Итак, я задумался о том, какой будет лучшая архитектура. Нам нужны были очень мощные элементы управления формой, богатые сетки, богатые деревья, расширенная компоновка, и нам нужно было постепенно переходить к этому. Кажется, ни одна из фреймворков PHP не подходит. Затем я сделал шаг назад и понял, что это не должен быть PHP, это также может быть javascript. У нас уже было требование к javascript, так что было неплохо пройти с ним дистанцию. Сначала я посмотрел на меньшие библиотеки, jquery, prototype, но стало очевидно, что они не делают достаточно. Поэтому я посмотрел на Dojo, ExtJS, YUI, все действительно тяжелые наборы инструментов javascript и остановился на ExtJS как на лучших элементах управления.

У нас была структура пользовательского интерфейса, которая в значительной степени зависела от фреймов, фрейма навигации снаружи, фреймов приложений внутри, фреймов объектов внутри и т. Д. В итоге мы перенесли их извне. Все это становится ExtJS, и все живет на одной странице. Код на стороне сервера остается прежним, но он переносится в веб-службы. В то же время мы интегрировали Zend Framework и портируем некоторые вещи, которые вы действительно не должны делать самостоятельно, такие как аутентификация и перевод.

Конечной целью является возможность написать только бизнес-логику без необходимости связываться со всеми шаблонами. Еще слишком рано знать, удастся ли мой подход, но я думаю, что мое послание будет иметь решающее значение для вашей кодовой базы и решить, какие части вы хотите продолжать писать сами, а какие части вы хотите передать в библиотеку.

0 голосов
/ 06 мая 2011

Не уверен, но похоже, что Tibco General Interface (http://www.generalinterface.org) - то, что вы ищете.

0 голосов
/ 05 июля 2010

Хотя вы запрашиваете PHP + MySql, я хотел бы порекомендовать вам попробовать Agile Platform OutSystems.

Вы можете создать простое приложение CRUD менее чем за 10 минут и расширять его по мере перехода к более сложной системе.

Загрузите Community Edition бесплатно на www.outsystems.com .

Best

0 голосов
/ 28 сентября 2009

Я начал использовать Django, и у него есть очень полезные функции, особенно. встроенный администратор (для общих вещей CRUD) и действительно отличный код для обработки форм и рендеринга виджетов. Я бы посоветовал взглянуть, даже если вы не планируете использовать python, просто чтобы получить представление.

Вы упомянули, что вам не нужен совет по "Использовать X framework", поскольку это больше касается RAD & 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.

Если это не то, что вы ищете, не могли бы вы добавить еще вопрос? Мне любопытно.

0 голосов
/ 01 сентября 2009

Я думаю, Symfony может быть подходящим вариантом, поскольку, как и ваши приложения:

  • написано на PHP
  • ORM на основе Propel / doctrine (так что вы можете использовать MySQL, Postgres или SQLite)
  • Используемая архитектура и шаблоны помогут вам в сложных приложениях
  • Вы найдете инструменты, помогающие отлаживать, документировать и тестировать ваше приложение
  • Создание форм, проверка, l10n и i18n, тестирование, AJAX - это easy ( формы в рамках Symfony объяснены здесь, посмотрите )
  • Создание прототипов ваших веб-страниц при разработке приложения очень просто

Другие инструменты / практики, реализованные в среде Symfony, которые сделают вашу жизнь проще:

  • полная конфигурация с использованием синтаксиса YAML (легко читается и понимается)
  • функция лесов создает для вас простой интерфейс CRUD для редактирования ваших данных.
  • вам не нужно беспокоиться о кодировании, очистке, безопасности, кэшировании, ACL; Конфигурация нужна, но без тяжелого кодирования.

Единственный недостаток, вам нужно прочитать некоторую документацию, чтобы понять "способ действий Symfony". Но, эй, хорошая структура - это 20% кода и 80% хороших практик .

Моя точка зрения такова, что даже если вы не хотите использовать Symfony для своего проекта , вам следует проверить его функции и встроенные инструменты, поскольку именно такие инструменты вы хотите использовать для своего проекта.

0 голосов
/ 31 августа 2009

Может быть, принять или создать "основанную на приложениях" инфраструктуру, такую ​​как Django ? В случае с Джанго сообщество создало несколько мощных базовых линий, таких как Pinax .

0 голосов
/ 21 августа 2009

Я тестирую NuBuilder.com, я обнаружил, что это делает в течение нескольких дней сначала выглядит многообещающе. Если вы посмотрите Пожалуйста, пришлите мне ваши отзывы!

0 голосов
/ 03 августа 2009

В настоящее время я использую класс твердых форм для рендеринга HTML-форм с проверкой на стороне клиента и на сервере, а также класс базы данных для написания SQL. Я могу получить раздел CRUD моей консоли администратора примерно в 10 строк кода. Я написал эти классы сам, чтобы я мог использовать их во всех моих проектах. Надеюсь, это даст вам некоторые идеи?

Лично я бы держался подальше от инструментов WYSIWYG.

...