2009-02-04 4 views
39

Мы все знаем упражнение: у вас есть (маленькая) модель, вам нужно ее сохранить, вам нужен пользовательский интерфейс (веб-сайт, рабочий стол, мобильный, некоторые из первых, все).Какие инструменты RAD есть?

Это такой повторяющийся процесс, что я не могу не задаться вопросом, почему мы все еще зацикливаемся на POJO, OR mappers и кодировании пользовательских интерфейсов (так как большинство дизайнеров UI даже не знают о наследовании, а вы необходимо создать каждый диалог ОК/Отмена с более чем одним полем с нуля). RAD инструменты/платформы обещают исправить это, но я еще ничего не видел. Идея этой вики состоит в том, чтобы собрать все инструменты, которые позволят вам воплотить идею за несколько минут и построить оттуда. Простые вещи (например, создание простого пользовательского интерфейса для вашей модели или сохранение его в базе данных) должны быть простыми. Прикрепление довольно сложного объекта к диалогу для его редактирования должно занимать одну строку кода или меньше;)

Итак, вот вызов: какие инструменты RAD находятся там, которые позволяют построить небольшое приложение внутри, скажем, 8 часов , Чтобы дать вам представление о том, что он должен сделать, вот спецификация:

  • У вас есть узлы «знания». Каждый такой узел имеет имя и длинное описание, прикрепленное к нему (однострочная и многострочная строка)

  • Каждый узел знаний может иметь любое количество узлов знаний в виде дочерних элементов (1: *). Дочерние узлы должны поддерживать порядок (то есть использовать список, не набор)

  • Каждый узел знаний может иметь любое количество тегов, прикрепленных к нему (1: * неупорядоченный соотношение между различными типами)

  • Любые два узлы знаний могут быть связаны с любым количеством отношений (п: т отношения)

  • должна быть предусмотрена возможность загрузки/сохранения модели из/в XML и из/в базе данных с минимальными усилиями

  • Пользователи ожидать отменить/повторить сегодня

Пользовательский интерфейс должен предлагать стандартные операции: создавать, изменять порядок и удалять узлы знаний. Переупорядочение должно использовать drag'n'drop. Он должен позволять добавлять/удалять теги из узлов знаний. Должен быть простой способ соединения двух узлов знаний по отношению (например, перетаскивая один узел на другом в специальном режиме).

Пользовательский интерфейс также должен позволять искать узлы с сертификатами или отношениями. Для бонусных очков он должен предложить простой способ навигации по графику отношений.

Что еще нужно сделать? Как обычно, предпочтение отдавалось OSS.

Фон: Я разрабатываю программное обеспечение уже более 25 лет. Тем не менее, это простое приложение занимает несколько недель, если не месяцев код на любом языке, который я столкнулся до сих пор: Groovy, Java, Python, Tcl/Tk, Grails, OpenOffice, MS Access, TreeLine, [TurboGears] [10], [Enthought Признакам ] [11], .net.

Некоторые отзывы о соперниках. Обратите внимание, что я пытаюсь выделить основной пункт в одном предложении, поэтому возьмите следующий раздел с солью, хорошо?

Groovy Хороший язык, компактный код. Закрыть, но не хватает в отделе пользовательского интерфейса. Они работают над этим, но просто нет. Для настойчивости, только Java-сериализация из коробки.

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

Python Получил почти все, что ему нужно, но по какой-то причине он никогда не становился как основной, как, скажем, Java. Получил хороший набор пользовательских интерфейсов с PyQt4, классный конвертер OR с SQLAlchemy, но все-таки мы не видим, чтобы он дроссельной заслонки на полной скорости тянул вперед. Только с появлением модульных испытаний стало возможным писать большие проекты. Слишком низкий уровень для задачи.

Tcl/Tk Привлекательный набор виджета, но язык отстой, когда размер кода превышает определенную точку. Показывает его возраст.

OpenOffice Начиная с версии 2.0, OO имеет встроенную базу данных и инструмент «Access-like». Это в зачаточном состоянии, но они доберутся ... в конце концов. Не удалось обработать отношения parent/child, поскольку пользовательский интерфейс не позволяет их указывать (see bug). Исправлено в 3.1. С помощью 3.1 вы можете создать модель, но пользовательский интерфейс все равно займет много времени.

MS Access Практически все, что нам нужно, но параметры пользовательского интерфейса довольно ограничены. Разочарование.

преобладающими Нет способ реализации отношений и слишком ограничены в большинстве других случаев использования (вы просто не можете сделать многое другое с ним)

.net У меня нет никакого опыта с этим, в основном потому, что это только Windows. Я думаю, что это может быть довольно близко, но давайте посмотрим правде в глаза: в чем смысл блокировать четверть человечества?

+0

Wow. Почему вы ответили «в вопросе»? Это как бы позволяет задавать этот вопрос. Голосование закрывается как «не настоящий вопрос». –

+4

Что касается вашего комментария «.NET»: вы должны оставить его «без опыта». Вы можете блокировать четверть известного мира, но более 91% предприятий используют Windows на своих рабочих столах. –

+0

Это действительно работает только в Интернете, но вы также можете посмотреть ColdFusion. Кроме того, Flex/AIR может быть хорошим слоем RAD UI. –

ответ

3

Magic uniPaas: использовал его при первой моей работе по разработке графического интерфейса пользователя. Это не ерунда RAD Tool, где все основано на таблицах. Он также обеспечивает среду выполнения. Тогда это называлось Magic eDeveloper.

+0

Можете ли вы сделать с ним только настольное приложение? (т. е. не требуется сервер) –

+0

Я пытался следить за онлайн-курсом (который вы можете скачать со своего веб-сайта), но для этого требуется MSSQL Server 2000 или более поздняя версия. –

7

Это зависит от того, кто ваш рынок. Я могу сказать вам одно: ваш рынок никогда не будет состоять из всего человечества. Так что тот факт, что, возможно, 25% людей на планете не используют Windows, не должны иметь для вас никакого отношения.

Для вас важно, сколько людей на вашем рынке использовать любую ОС? Если вы пишете бизнес/финансовое приложение и работаете только с Windows, то, вероятно, вы оставите около 0,05% вашего рынка (потому что когда вы в последний раз слышали о бухгалтере, который использует Mac или Linux?).

Однако, если вы пишете программу для создания музыки (например, FruityLoops), и вы пишете только Windows, тогда вы, вероятно, оставите больше, чем 50% своего рынка.

+0

Я согласен с вашими мыслями, но это совсем другая история. Если у меня нет инструмента, я не могу доставить его. Поэтому я хотел бы оставить рыночный вопрос здесь. –

+0

@ Аарон Дигулла: Если у вас нет инструмента, то лучше всего получить инструмент. Visual Studio Express для .NET является бесплатным. –

0

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

+0

У вас есть ссылка? –

+1

Уверен: http://esper.codehaus.org/about/nesper/nesper.html – endian

1

REALbasic Инструмент RAD - его компилятор создает собственные исполняемые файлы. И это тоже кросс-компилятор, что означает, что вы можете строить с любой платформы для любой платформы.

Полный доступ к базе данных поддерживается только в Professional Edition (EUR 400). Личная версия составляет 75 евро и может подключаться к REALSQLDatabase (которая также принадлежит ребятам RealSoft).

В отличие от Hibernate или SQLAlchemy, вы должны сами написать слой БД.

+0

Я согласен, что это RAD - но вы можете написать приложение, которое я описываю, менее чем за 8 часов, в том числе. постоянство базы данных? –

20

Delphi RAD Studio и Lazarus IDE для pascal/delphi язык.

+0

Является ли Delphi еще только Windows? Однажды была версия Linux. Это все еще доступно? –

+0

На каком языке написана Lazarus IDE? Я спрашиваю, потому что сайт говорит «выбрал свой собственный интерфейс», и среда IDE не похожа на какой-либо пользовательский интерфейс, который я узнаю. –

+0

Kylix (Delphi for Linux) больше не существует. Теперь есть Delphi Prism, который является Delphi для Windows, Linux и Mac, но IDE - это Visual Studio и, следовательно, только Windows. –

3

Я думаю, что WinDev следует за идеей RAD.

Примечание: Работает только в Windows, цены начинаются от 990 евро. Поставляется с широким спектром инструментов.

+1

Я согласен с WinDev. Очень просто создать приложение esp с DB. Я ненавижу свою фирменную БД. И, похоже, он поддерживает двухстороннюю связь между UML, только если мы используем его проприетарную БД. –

1

Визуальный редактор NetBeans Matisse отлично подходит для разработки Swing.

+0

Это вряд ли РАД :) Как насчет уровня БД? Быстрое создание пользовательского интерфейса для модели? Создание модели, которая поддерживает отмену/повтор, проверку орфографии и т. Д. И т. Д.? –

3

Visual Studio - Руки вниз, лучшая студия RAD. Если вы считаете, что он используется не только для инструментов разработки Microsoft, Delphi Prism использует его, и все инструменты SQL Server для SQL Server используют его, вы получаете представление о его гибкости. Это также бесплатно (инструмент RAD/IDE - не инструмент разработки).

+1

Является ли SQL Server также бесплатным? Если нет, у меня есть RAD-инструмент без базы данных ...:/Насколько хорошо он работает с другими БД, такими как MySQL? Возможно ли создать приложение, описанное выше, и продать результат без выплаты роялти MS? –

+2

Часть 1: Некоторые выпуски SQL Server бесплатны (например, экспресс и разработчик). Средства управления SQL Server предназначены только для SQL Server, но среда IDE Visual Studio может быть расширена до других БД, если это требуется. –

+2

Часть 2: Можно создать приложение с помощью средств разработки Visual Studio или расширить распространяемую версию Visual Studio, чтобы сделать то, что описано и продать, без уплаты роялти. –

1

Grails - это основа для быстрого создания веб-приложений. Он основан на Groovy. Вы определяете модель, запускаете две команды из командной строки, и вы устанавливаете простой интерфейс CRUD, где вы можете редактировать свою модель в веб-браузере.

Веб-сайт, много хороших идей, но у вас не может быть отношений между родителями и детьми из-за this bug, который, мы надеемся, будет исправлен в версии 1.0.5. Для серьезного развития вам понадобится один из AJAX/Rich Client plugins, потому что у Grails не очень мощные виджеты.

0

TurboGears - это основа для быстрой сборки веб-приложения с использованием Python. Основные возможности: вы определяете модель, TG создает все остальное, которое затем может приспосабливаться к вашим потребностям. Изменения в модели требуют перезапуска сервера разработки, все остальное происходит при следующей перезагрузке в веб-браузере (TG позволит вам узнать, когда вам нужно перезапустить).

Большой шаг вперед, особенно выпуск 2.0 (который должен выйти «в ближайшее время», не обижайтесь, ребята, я знаю, что вы много лет работаете над этим в течение нескольких лет ... но нет TG 2.0 для я уже несколько лет :(() Только в Интернете. Поэтому нам пришлось бы реализовать все drag'n'drop самостоятельно, найти способ рисовать навигационный график. Разочаровывающе близко.

0

Enthought Traits - отличный Framework для создания пользовательского интерфейса по умолчанию из модели. Простой в использовании, мощный, случай по умолчанию - тот, который вы хотите большую часть времени, и он делает то, что вы ожидаете

Но настойчивость базы данных отсутствует. Вы должны написать треску e, чтобы сохранить/загрузить свою модель самостоятельно. Выполнение этого для XML довольно просто (есть абстрактный API, который работает для любого объекта в вашей модели), поэтому вам просто нужно написать один класс с, скажем, с 50 строками кода, независимо от сложности вашей модели.

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

Модель, упомянутая выше, может быть реализована менее чем за час, еще один час для ее чтения/записи из/в XML. Графическая навигация для отношения займет пару дней, используя виджет холста из Qt.

-1

Boa Constructor - это перекрестная платформа Python IDE и wxPython GUI Builder.

Это указано как перекрестная платформа RAD в Википедии, но я предполагаю, что это скорее IDE (вместо того, где вы можете создать приложение, описанное выше в течение нескольких часов).

+0

Некоторое время назад это, возможно, считалось инструментом RAD. Не сейчас. –

0

Panther (и это версия OSS POSSL), похоже, является основой для создания веб-приложений. Я не мог установить его, поскольку он поставляется только с сценарием оболочки Unix в качестве установщика. С кем-нибудь еще сталкивается с этим? Затем отредактируйте эту запись.

0

Я думаю, nbandroid стоит упомянуть. Его RAD-инструмент для разработки программного обеспечения Google Android с использованием среды IDE NetBeans.

3

Clarion (http://softvelocity.com).

Я мог бы/мог бы получить демонстрацию ударил вместе для такого проекта в считанные часы.

Одним из перспективных недостатков является то, что он создает исполняемые файлы Win32. Конечно, это можно решить, создав с ней веб-систему.

Другим является то, что Clarion определенно не является открытым исходным кодом. Который положил бы много народа.


Хорошо. Мой последний комментарий был около 2 часов назад. Итак, в то время, вот что мне удалось сделать в Clarion.

http://125.214.67.190:5824/

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

Система «Знание» - очень демонстрационный пример. Вы можете добавлять только теги и отношения к родительским узлам. Не существует надлежащего поиска Tag/Relation (только единственного числа). Нет изображений или достойного графического дизайна или пользовательского интерфейса.

Но каркас, фундамент есть.

+0

Не могли бы вы удалить это и добавить его в запись Clarion? Таким образом, у нас есть один элемент для инструмента RAD :) –

+0

И я хочу, чтобы больше людей делали это, чтобы показать свои инструменты RAD. Я имею в виду, что они предназначены для этого, не так ли? :) –

+0

Aaron, heh heh Yup! Они предназначены для этого: –

1

Lazarus LCL - это Delphi, как VCL, над существующими наборами виджетов.

Это могут быть GTK1, GTK2, QT, Win32/64, WinCE и Carbon. Есть и другие (например, мост COCOA), но они в основном только на начальных этапах.

0

Visual DataFlex - отличный инструмент RAD, который мы используем. Это специально предназначено для создания бизнес-приложений, основанных на базе данных. К сожалению, это не бесплатно, но это отличная среда/язык, и Data Access дает хорошую поддержку.

+0

У него есть личное издание, которое бесплатно. Проверьте это. –

1

Qt Toolkit, найденный по адресу: http://qt.nokia.com/products, для кросс-платформенного графического интерфейса C++ также отлично подходит для создания настольных и мобильных приложений.

+2

Подождите. Вы только что использовали RAD и C++ в том же предложении? :) – Marek

7

Microsoft Lightswitch. Трудно представить что-либо «более быстрое».

+0

Итак, сколько времени потребовалось для реализации проекта, описанного выше? –

0

DragonRAD был только что анонсирован для разработки приложений Blackberry. В закрытой бета-версии прямо сейчас.

2

Oracle Application Express (http://htmldb.oracle.com/pls/otn/f?p=4600:6:171781307324519::NO::::)

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

Используйте простые мастера и декларативное программирование для создания мощных отчетов и приложений для ввода данных. Вы можете создавать приложения из загрузок электронных таблиц или существующих таблиц базы данных и представлений. Oracle Application Express включает SQL Workshop для создания и управления объектами базы данных, которые поддерживают ваше приложение.

С применением Express, кодирование декларативно. Это означает, что никакой код не генерируется и не компилируется. Вы взаимодействуете с мастерами и листами свойств. Поскольку язык SQL используется для определения отчетов и диаграмм, некоторые знания SQL полезны. Если необходима логическая процедура, вы можете написать фрагменты кода с использованием PL/SQL. Декларативный код дает меньше различий между разработчиками и эта последовательность позволяет приложениям Application Express легко поддерживать и управлять.

15

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

1

XPower++ от ++ технологий - кроссплатформенные IDE для Windows, Linux, Mac, Android, IOS и т.д.

+0

он теперь называется xero coder http://xerocoder.com/index.php?p=xerocoder –