Кто-нибудь использует Iron Speed ​​Designer для быстрой разработки asp.net?

Visual studio довольно хорош, но не создает хранимые процедуры автоматически. Дизайнер Iron Speed ​​делает это предположительно. Но хорошо ли это?

6 ответов

Решение

В течение последних двух лет я широко использовал Ironspeed для большинства наших форм ASP.NET над проектами данных.

Оно работает. Хорошо выполняет несколько задач: хранимые процедуры, быстрая компоновка просмотра таблиц и экранов CRUD, быстрая компоновка экранов CRUD с одной записью. Он управляет процессом кругового обхода (или обхода туда и обратно) прилично, обнаруживая изменения в вашей внутренней схеме БД и обновляя свой слой доступа к данным, а затем делает измененные столбцы доступными для изменения вашего пользовательского интерфейса (в панелях управления записями или таблицами).). ISD (как они его называют) отлично справляется с управлением безопасностью вашего приложения, довольно безболезненно, даже до уровня контроля (если вы используете подклассированные версии ISD элементов управления asp.net). Последним плюсом, а не маленьким, является элемент управления темами на основе CSS (его легко изменить на множество тем, легко настроить конкретную тему и даже не так уж плохо создать собственный вариант темы, разветвив существующую понравившуюся тему).). В зависимости от того, позволяете ли вы ISD создавать свои хранимые процессы в базе кода или в базе данных, изменение базы данных во время выполнения может быть простым делом.

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

Хорошо, отрицательные стороны. Создает довольно большие конгломераты кода, будучи трехуровневой архитектурой. Как говорит Галвегиан, как и у любого фреймворка, у вас есть бархатные наручники (выкиньте свой ум из сточной канавы, если вы думаете о чем-то, кроме ограничений кода и соглашений!). Бархатные наручники - это модель страницы и элемента управления, уровень данных, отсутствие как таковой возможности бизнес-объекта / класса, модель обратной передачи и соблазн сделать ваш пользовательский графический интерфейс похожим на их пользовательский графический интерфейс, который выходит из коробки, потому что он чертовски легко и удобно.

ISD создает базовую страницу, комбинируя HTML-шаблон (в который вы помещаете специальные теги генерации кода ISD и любые другие теги и т. Д., Которые вы используете с помощью графического интерфейса ISD или вручную). Модель страницы опирается на код позади страницы, созданный из фрагмента шаблона кода. Базовые классы почти полностью переопределяются, так что вы можете переопределить все функции по умолчанию, восстановить приложение и не потерять свои переопределения. Элементы управления базой данных живут в контейнере страницы, но имеют свои собственные определения классов (т. Е. Свой код) в определенных файлах /app_code. Опять же, каждый тип элемента управления имеет свой собственный базовый класс с довольно полностью переопределенными методами. Управление одиночной записью (показывающее одну запись в БД) довольно простое. Таблица, показывающая несколько записей, имеет класс таблицы и класс строки таблицы. На веб-сайте ISD (www.ironspeed.com/support) имеется хорошая документация по модели ISD в целом.

Итак, где же проблемы в этой модели? 1. Легко и заманчиво жить с готовым графическим интерфейсом. Направьте ISD на свою базу данных, выберите таблицы, которые вы хотите, чтобы она превращалась в страницы, назовите ее типы страниц, придайте ей тематический стиль и через пять минут вы просматриваете приложение. Здорово. Но очень легко забыть, что их пользовательский интерфейс, вероятно, не тот, который хочет видеть ваш пользователь. Так что будьте готовы думать самостоятельно и повозиться с созданным таким образом графическим интерфейсом. Не трудно сделать, и вы можете использовать VS 2005, чтобы помочь вам.

  1. Бизнес объекты. Вы можете собрать свои собственные бизнес-объекты, но это будет трудно, и вы не получите никакой помощи от ISD. ISD создает много простых проверок и проверок (соответствующие значения поиска, диапазоны, длины и т. Д.). ISD позволяет создавать пользовательские запросы, но они доступны только для чтения. Он достаточно умен (и вы можете переопределить запись со страницы в любом случае), чтобы позволить вам просмотреть один-на-один и записать его обратно в базу данных (вы, вероятно, переопределите базовый метод по умолчанию, но это не так это сложно сделать). Тем не менее, когда вы приступаете к серьезной проверке зависимостей, ISD по-прежнему в основном касается таблиц, а не бизнес-объектов. Итак, вы собираетесь написать код.

Если вы сообразительны, вы напишете его один раз, сохраните где-нибудь в app_code и используйте его, вызвав его из переопределенного метода в вашей таблице или элементах управления записями. Если вы похожи на большинство из нас, вы сначала добавите его в один из приведенных выше классов code-behind, а затем забудете, что сделали это, или получите копию на каждой из 10 страниц, которая манипулирует данными клиента. В моем мире это обычно означало 5 одинаковых функций и 5 разных (даже при том, что все они должны быть одинаковыми). ISD делает заманчивым заказ маринары, потому что модель поддается коду спагетти. Конечно, вы можете полностью предотвратить это, но вы должны изучить модель ISD, чтобы определить лучший способ сделать это в вашем проекте.

  1. Состояние страницы и постбэки. Хотя ISD довольно открыто говорит об этой проблеме и говорит пользователям не просто принимать значения по умолчанию, возвращая все состояние страницы asp.net в потоке обратной передачи (вместо этого кешируется на сервере), по умолчанию возвращается вся страница. Может сделать для некоторых больших страниц. Что заставляет пользователей думать S L O W. Как я уже сказал, вы можете манипулировать этим. Но то, что новичок получит, когда так заманчиво просто указать, щелкнуть и быстро запустить приложение. Ваш менеджер теперь у вас за спиной, потому что его таблица инвентаризации продуктов "в сети" с классным графическим интерфейсом поиска и редактирования (из 400-килобайтных страниц состояния, если вы немного с ума сошли и только что приняли стандартное поведение ISD). Отличный внутренний, но клиенты в реальном мире....

Опять же, знание является ключом. Вы можете это исправить, но вы должны знать, что ДОЛЖНЫ.

  1. База данных для чтения / записи постбэков. Здесь нет больших проблем, но вам также нужно знать, что модель предназначена для получения только тех данных, которые используются в данный момент. Если ваша таблица показывает 1000 записей с шагом 50 записей, при переходе от записей 1 к 50 к 51 к 100 вы будете выполнять обратную передачу и снова попадать в базу данных. Это поддерживает актуальность данных, но увеличивает трафик сервера.

В целом: попробуйте демо-версию. Укажите на что-то простое, что вы действительно хотите включить в приложение asp.net. Построить возможно три таблицы. Затем рассмотрите это, используя вышеприведенное в качестве руководства. Посмотрите, что вы думаете, и ответьте на этот вопрос.

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

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

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

Если генерация хранимых процедур - это все, что вам нужно, CodeSmith - это достойный вариант за долю стоимости IronSpeed. Доступно несколько шаблонов sproc, и вы можете создать свой собственный или настроить существующий, если это то, что вам нужно. Вы также можете генерировать код.Net для своего сердца с помощью CodeSmith. Тонны шаблонов бизнес-класса уже существуют для этого.

Значение IronSpeed ​​не в генерации sproc, а в функциях RAD. Я согласен с @Galwegian... IronSpeed ​​подходит для макетов или очень простых приложений, совсем не так хорош, если вам нужно что- то настраивать.

Вы можете проверить платформу Evolutility CRUD. Он предоставляет некоторые из тех же функций (ограничен CRUD) и является открытым исходным кодом.

IronSpeed ​​отлично помог мне в разработке управляемых данными корпоративных приложений для интрасети. Хотя к модели кода нужно немного привыкнуть, она эффективна для поддержки хорошего трехуровневого приложения. Несмотря на то, что шаблоны страниц могут показаться яркими по сравнению с веб-дизайном 2010 года, он выполняет свою работу, когда вам нужно работать над формой.

Если вам нравится это супер простое в использовании, попробуйте AspxFormsGen 4.5. Вы можете узнать это менее чем за 5 минут. Создает 3-уровневое веб-приложение на C# или VB.net, пользовательский интерфейс (.aspx), средний уровень (файл класса), слой данных (файл класса) и хранимые процедуры (или dyanmic sql, sql в вашем коде, не в MS SQL),

Я использую все свои продукты. Хотя есть некоторые вещи, которые я хотел бы добавить к особенностям их продуктов, простоту, отличную поддержку и, самое главное, цену (почти в 5 раз ниже, чем у всех остальных) очень трудно превзойти. И они не отправляют / не отправляют по электронной почте никакой рекламы вообще.

https://www.junnark.com/Products/AspxFormsGen45/

Iron Speed ​​Designer отлично подходит для простых веб-приложений типа CRUD. Вы можете найти полезную информацию на нашем веб-сайте http://www.dotnetarchitect.co.uk/

Другие вопросы по тегам