Изучение C #, ASP.NET 3.5 - в каком порядке я должен учиться / что пропустить? - PullRequest
8 голосов
/ 11 ноября 2008

В C # и ASP.net есть много чего. С чего мне начать? На чем мне не стоит концентрироваться?

Должен ли я изучать Winforms, а затем WPF? То же самое для вебформ / Silverlight? Должен ли я изучать ASP.MVC или классический ASP.NET? Если и то, и другое?

В одном или нескольких случаях - что будет иметь больше смысла, если сначала узнать другого?

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

Я намеренно не упоминаю такие основные принципы, как тип значения / ссылки, классы, объектно-ориентированные концепции и т. Д., Поскольку они должны быть на первом месте, а не на конкретных деталях. Здесь меня интересует конкретика.

[править - добавлены подробности моих целей] Хорошие вопросы подняты - «что я хочу написать»?

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

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

Как видите, всего понемногу.

Ответы [ 8 ]

6 голосов
/ 11 ноября 2008

Что ты хочешь написать? Если вы хотите написать клиентское приложение для Windows, изучите WinForms и WPF (нет необходимости изучать WinForms до WPF, за исключением того, что многие учебники / книги, вероятно, будут сравнивать концепции WPF с концепциями WinForms). Если вы ищете веб-приложение, то ASP.NET или ASP.MVC - я не знаю, нужен ли вам «нормальный» ASP.NET до MVC.

Silverlight в некотором роде и то и другое - богатый клиент, вероятно, обращается к серверу за интересными данными и т. Д.

Прежде чем приступить к изучению любого из них, я предлагаю вам ознакомиться с основами, которые находятся на шаг впереди упомянутых вами тем - такими, как работа текста в .NET (включая кодировки и регулярные выражения), ввод-вывод, возможно, многопоточность. О, и LINQ :) Есть несколько книг, которые очень хороши в этом отношении:

4 голосов
/ 12 ноября 2008

У меня возник тот же вопрос, когда я перешел с Classic ASP на .NET 2.0 ... .NET огромен: так с чего мне начать?

Я запачкал руку и начал медленно, взять проект (в моем случае это был очень важный проект - финансовое веб-приложение, которое охватывало бы и автоматизировало работу всех 4 человек) и запустил для реализации, каждый раз, когда я не знал, как что-то сделать, или у меня была идея в ASP, но не в ASP.NET, я переходил к www.asp.net или 4GuysFromRolla веб-сайт и поиск примеров, копирование / вставка, понимание того, что я делал, и ... переход к следующей стене.

Мне потребовалось 6 месяцев , чтобы все заработало, но было хуже! теперь, когда прошло почти 3 года, я знаю, что сделал правильный выбор, но тогда ... я был напуган!

сейчас ... вы ссылаетесь на .NET 3.5, в ней есть куча новых вещей, таких как расширения, linq и т. Д. ... Я бы сказал, что самое простое, и когда придет время, "возможно, я смогу использовать LINQ здесь, позвольте мне искать, как использовать это на этой части "

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

Я купил Professional ASP.NET от Wrox в качестве справочника, и даже сегодня я хожу туда, чтобы увидеть новые вещи, даже когда я начинаю использовать .NET 3.5, идея есть, есть только новый способ сделать это.

3 голосов
/ 11 ноября 2008

Я бы порекомендовал изучать все, что вас интересует. Выберите «любимый проект» и попробуйте создать его, используя одну из перечисленных вами технологий. Если вам нравится создавать приложения в стиле рабочего стола Windows, тогда используйте WPF или WinForms. Если вам нравится идея создания полнофункциональных приложений в стиле настольного компьютера в Интернете, тогда выберите Silverlight. Будет много совпадений.

Но с точки зрения разработки ядра .NET, если бы я начинал с нуля, я бы сначала рекомендовал изучить ASP.NET MVC, поскольку это даст вам хорошую основу для таких вещей, как: разработка для тестируемости, кодирование без ViewState SEO-дружественные URL и т. Д.

2 голосов
/ 11 ноября 2008

Это зависит (ужасный ответ, я знаю, но позвольте мне объяснить)

Собираетесь ли вы заниматься разработкой форм окон? Вы упоминаете C # и ASP.NET, так что для меня это звучит так, будто вы занимаетесь веб-программированием. Если это так, пропустите Winforms и WPF на данный момент.

Silverlight стоит проверить, но он все еще довольно новый, поэтому я бы сделал его вторым приоритетом.

Теперь к вопросу о MVC или веб-формах. MVC дает вам полный контроль над генерируемым HTML, CSS и Javascript, но требует больше работы, в то время как веб-формы обеспечивают простоту разработки, но без 100% контроля над создаваемой разметкой. С веб-формами можно многое сделать, и внедрение MVC не угрожает будущему веб-форм. MVC очень новый, поэтому все меняется, но в конце концов я вижу, что они оба живут счастливо бок о бок.

Что касается изучения .NET в целом, я слышал замечательные вещи о книге под названием CLR через C #, в которой будут рассмотрены все основные принципы и внутренняя работа .NET.

1 голос
/ 12 ноября 2008

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

Допустим, вы хотите создать приложение, которое будет отслеживать вашу коллекцию видеоигр. Во-первых, вам понадобится способ хранения информации - это будет комбинация c # и некоторой стратегии постоянства, такой как mySql, SQL Server или XML.

Тогда вам понадобится способ представить свою коллекцию и взаимодействовать с ней - добавление, удаление и редактирование объектов и сохранение изменений. На этом этапе используйте все интересующие вас технологии презентаций - WPF, WinForms, Asp.net, asp.net с MVC, Silverlight - все, что вас интересует. Когда вы научитесь делать это, вы изучите методы вам нужно будет использовать в следующем.

Не выбирайте только одну - играйте со всеми, кто вас интересует.

Теперь, если вас в первую очередь интересуют, какие навыки помогут вам быстрее всего нанять, я бы сказал, посмотрите на ваш рынок, но, вероятно, это будут прямые навыки ASP.Net, которые будут наиболее востребованы - или по крайней мере, так это выглядит с моей точки зрения. Через пару лет это могут быть навыки ASP.Net MVC. Однако на некоторых рынках у вас будет больше шансов получить работу VB6. Все зависит от того, где и когда вы смотрите.

1 голос
/ 11 ноября 2008

Определенно изучите основы (как вы уже упоминали), например, как CLR обрабатывает типы, сборки мусора, безопасность, «домены приложений», многопоточность и т. Д.

Для ASP.NET изучение «жизненного цикла страницы» и «управления жизненным циклом» имеет важное значение. Кроме того, состояние сеанса и привязка данных, вероятно, полезны для понимания.

Пока что я не буду беспокоиться о WinForms, WPF или Silverlight. Они не помогут напрямую с ASP.NET, и их относительно легко получить после изучения основ CLR и .NET Framework.

0 голосов
/ 29 апреля 2009

Иногда могут помочь видео. Я узнал все, что мне нужно было знать, чтобы начать с набора видеоуроков из Total Training, который здесь Дорого, если вы покупаете диски, но есть более дешевый вариант только онлайн.

0 голосов
/ 16 апреля 2009

Я настоятельно рекомендую следующие книги, чтобы узнать, что нового в ASP.NET 3.5

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