Должен ли я сначала написать на C #, а затем портировать на web? - PullRequest
2 голосов
/ 05 мая 2009

Я хотел написать сайт, но я почти не знаю веб-программирования. Я посмотрел на ASP.NET, и я хотел знать. Должен ли я написать свое приложение на простом C # с формой и множеством кнопок для тестирования каждой страницы / компонента? тогда порт или кто-нибудь поможет мне порт? или я должен сделать это с чистого ASP.NET с самого начала?

-edit- Я отредактировал нижеследующее после первых 6 ответов, чтобы они могли выглядеть странно

Я думаю, что смогу сделать больше, если я просто использую C # и sqlite, так как я могу писать лом и тестировать код быстрее и быстрее создавать прототип. ASP.NET займет много времени для простых базовых вещей.

ПРИМЕЧАНИЕ: я не буду заниматься тяжелым кодированием. Просто простой ввод / вывод данных из БД.

Ответы [ 8 ]

10 голосов
/ 05 мая 2009

Просто начните с asp.net.

WinForms и WebForms плохо переводятся. Особенно если вы учите asp.net


Учитывая ваше обновление вопроса, это все еще правильный путь. WinForms! = WebForms! = MVC или что-то еще. Знание одного не означает знание другого.

6 голосов
/ 05 мая 2009

Если вы не знакомы с веб-программированием, то все, что вы делаете в прямом C #, очень плохо переносится на ASP.NET. Сначала вам нужно разобраться в Интернете.


Даже учитывая ваш комментарий, мое предложение остается в силе. Сначала изучите веб-программирование. При желании вы можете сначала создать отдельный слой DAL и бизнес-логики; Вы даже можете создавать их, используя Test Driven Development. Но прежде чем вы коснетесь пользовательского интерфейса, вам нужно понять, о чем идет речь в Интернете, или вы совершите несколько ошибок, о которых пожалеете.

5 голосов
/ 05 мая 2009

Правильный способ сделать это - создать компонент (библиотеку) в C #, который будет заниматься всей работой с базой данных (чтение и хранение данных и проверка этих данных). Вы можете создать winform поверх этого, чтобы убедиться, что ваша библиотека работает.

Как только это будет сделано, используйте библиотеку со своей страницы ASP.NET, и вам не нужно будет беспокоиться о логике более низкого уровня, которую вы уже протестировали.

Не пытайтесь портировать свой код winform в Интернет, так как это не будет хорошо работать.

2 голосов
/ 05 мая 2009

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

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


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

Например, скажем, вы хотите создать приложение диспетчера контактов. Вы знаете, что у вас будет код для вставки, обновления и удаления, а также некоторые поисковые и общие списки контактов.
  1. Я бы начал с создания вашей БД со всеми полями, которые, как вы знаете, вам нужны.
  2. Затем я бы добавил несколько фиктивных данных в базу данных.
  3. Теперь я бы создал слой данных в своем приложении. Вероятно, лучше всего то, что это отдельный проект, который компилируется в простую DLL.
  4. Теперь, когда у вас есть классы данных, созданные для хранения контактной информации, пришло время создать ваш слой, который будет на самом деле идти и получать данные. Перейдите к своему решению и добавьте новый проект, который будет скомпилирован в DLL.
  5. Убедитесь, что БД доступна для вашего кода.
    а. Linq2SQL
    б. Библиотека предприятия
  6. Создание функций для добавления, редактирования и удаления контактов. Скорее всего, параметром будет объект Contact, который вы создали в # 3.
  7. Создание функций для поиска и возврата списков контактов. Это должно вернуть список, который создается в # 3 или что-то вроде этого ...
  8. Добавьте любой слой пользовательского интерфейса поверх этого, ссылаясь на обе библиотеки DLL в вашем проекте пользовательского интерфейса (может быть console, web, win ...)
1 голос
/ 05 мая 2009

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

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

0 голосов
/ 05 мая 2009

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

Есть несколько камней преткновения в различиях между winforms и страницами asp.net. поэтому вышесказанное должно помочь вам преодолеть некоторые из них.

0 голосов
/ 05 мая 2009

Если вы вообще планируете попробовать себя в роли настоящего программиста и намереваетесь создать сайт, пожалуйста, изучите HTML и CSS, прежде чем переходить на C #. В сети есть множество отличных бесплатных ресурсов.

Изучите html и css, а затем попробуйте Asp.Net MVC, чтобы облегчить себе задачу динамичной веб-разработки.

0 голосов
/ 05 мая 2009

Я бы сказал, пишите прямо в ASP.NET. Я не думаю, что кривая обучения будет такой плохой для вас, если вы уже знаете C # на WinForms, и модель привязки данных в ASP.NET отличается в достаточном количестве аспектов, и я думаю, что вы выиграете от ее написания только один раз.

...