Задать вопрос

Какую выбрать технологию и язык для написания диплома (ASP.NET MVC 4 или Yii PHP Framework или Ruby on Rails)?

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

Может кому покажется странным, но я сейчас уже начал думать о дипломе (закончил 4 курс). По мне не так важна тема, как язык и технологии на котором его писать. Это мне нужно что бы подтянуть свой уровень за лето и осень в выбранном языке.

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

Есть желание написать андроид-приложение к системе на котором можно к примеру показывать сведения о статусе проекта заказчику.

Это я описал первые мысли и наброски, функционала конечно будет больше.

Теперь собственно к сути вопроса, на чем писать ASP.NET MVC 4 или Yii PHP Framework или Ruby on Rails? Почитал на форумах и статьи об обоих. Приглянулись.

С php немного знаком, с c# намного дольше. Цена на хостинг не влияет на выбор. Visual Studio нравится.

Важно узнать ваше профессиональное мнение с учетом таких показателей:

1. Скорость изучения.
2. Функциональность.
3. Создание api (или через что лучше организовать доступ с сайту через мобильное приложение?) для приложения андроид.
4. Возможность найти помощь по проблемам (другими словами размер лояльного сообщества)
5. Сложность изучения
6. Производительность
7. Подскажите что еще важно при выборе?

Приму любые ответы от "Иди к мамочке школота" до "Чего забыл в программистах?" =)

Надеюсь на ваши помощь.

p.s.: добавил в вопрос еще Ruby on Rails
  • Вопрос задан
  • 7111 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 9
Valeriy1991
@Valeriy1991
Разработчик .NET C# (ASP.NET MVC) в Alfa-B, Moscow
Добрый день!
Вставлю свои 5 копеек по ASP.NET MVC:

1. Скорость изучения.
Учитывая, что Вы уже знакомы с C#, то изучение основ ASP.NET и особенностей разработки на ASP.NET MVC с помощью книг "Microsoft ASP .NET 4 с примерами на c# 2010 для профессионалов" (Мэтью МакДональд, Адам Фримен, Марио Шпушта) и "ASP.NET MVC3 (или 4) Framework с примерами на C# для профессионалов" (Адам Фримен, Стивен Сандерсон) займет у Вас примерно месяц при условии 4-5 часов занятий в день.
Если будете разрабатывать на ASP.NET MVC и выберете ORM EntityFramework, то берите сразу последнюю (6.1.) версию. Статья по EF6 Вам в помощь.

2. Функциональность.
Этого пункта не понял, поэтому лучше промолчу.

3. Создание api (или через что лучше организовать доступ с сайту через мобильное приложение?) для приложения андроид.
На asp.net есть отличные статьи по ASP.NET WebAPI.

4. Возможность найти помощь по проблемам (другими словами размер лояльного сообщества)
К Вашим услугам:
MSDN
asp.net
Stackoverflow
Собственно, сам Toster и Хабр
Лично я обычно делаю так: захожу в гугл и формирую запрос по английски, потому что по личному опыту, так решить проблему можно быстрее, чем искать на русскоязычных источниках.

5. Сложность изучения
Опять-таки учитывая тот факт, что с C# Вы уже знакомы, то - примерно средняя (чисто субъективно).

6. Производительность
Боюсь, тут я ничем Вам не смогу помочь, т.к. на PHP/RoR я не программировал и производительность всех трех технологий не сравнивал. Что касательно MVC, то заметил, что на локальном ПК (localhost) при разработке веб-приложение грузится чуть медленнее, чем на реальном хостинге или выделенном сервере (Да оно, собственно говоря, и понятно, т.к. на хостинге-то стоит нормальный IIS, а в VisualStudio при build проекта он запускается под Local IIS Express)

7. Подскажите что еще важно при выборе?
Пожалуй, цена вопроса. Так, для разработки на PHP Вам достаточно (если я не ошибаюсь) любого бесплатного редактора (Eclipse, Aptana, Codelobster, ...) и бесплатного веб-сервера Apache. Что касается разработки под ASP.NET MVC (да и вообще на стеке технологий .NET), то тут у Вас есть 2 пути:
1) использование free Express-версий продуктов (Visual Studio, MS SQL Server)
2) соответственно, использование платных версий тех же продуктов.

И еще пару моментов:
1. Узнайте, состоит ли Ваш универ в альянсе Microsoft Academy Alliance (или как-то так). Мой универ состоял, и нам в Dreamspark были доступны все платные продукты за бесплатно - VS вплоть до Ultimate, MS SQL Server, все версии Windows и др. (естесственно, "в образовательных целях"). Если состоит, то узнайте у Ваших IT-преподователей, как получить доступ. Когда учился в универе, меня регистрирова препод, а потом на мой email пришло письмо на english, что-то вроде "ура, вы зарегистрированы, ваши данные для входа такие-то...".
2. Если п.1 не сработал, то есть сайт - ИНТУИТ. Закончив там (вроде бы достаточно только 1 курса) курс от Microsoft, вы получаете ключ для регистрации на Dreamspark, в котором Вам открываются след.возможности:
- Visual Studio all versions professional
- MS SQL Server all versions
- Windows + Windows Server
И это, опять-таки, все бесплатно.

По поводу Вашей темы диплома.
Лично я немного не согласен с @SamDark в том плане, что "важна тема диплома, ее новизна и практическое значение". Новизна и практическое значение важны больше при разработке и защите различных диссертаций (докторских и какие там еще есть?), чем для диплома. Ваша идея, считаю, отличная, и неважно, что кто-то говорит, что "таких много". Да, много, но можно предложить свое решение задач, которое будет интереснее, красивее, удобнее, дешевле, проще, ... (нужное подчеркнуть). Если Вам эта тема интересна, и, что называется, тревожит душу, то беритесь за нее. Важна не идея, а ее реализация. К примеру: zappos.com - интернет-магазин обуви. Вроде бы чертова обувь... А если присмотреться, то их бизнес уникален (точнее, уникально предложенное ими решение проблемы - покупка обуви в интернете). Или basecamp от 37signals - вроде бы система управления проектами. А ведь Microsoft Project - тоже система управления проектами. Но на мой субъективный взгляд они и рядом не стоят. Разница в идее? Нет. Разница в реализации. А если получится действительно хороший продукт, то можно его превратить в SaaS и получать за это свои кровные.

Надеюсь, я Вам немного помог в Вашем выборе.
Ответ написан
SamDark
@SamDark
Yii2 core team
По мне не так важна тема, как язык и технологии на котором его писать.


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

В качестве темы склоняюсь к информационной системе для веб-студии.


Это уже было в симпсонах. Одни из важных критериев оценки дипломов — новизна и практическое значение. По новизне проект получается не нов. На практике да, полезен, но революцию в области или хотя-бы в её части не делает.

По пунктам могу прокомментировать по Yii 2.0.

1. Скорость изучения высокая, если с ООП нормально и с PHP знакомы.
2. Функциональность: почти всё для веб, много для API.
3. Создание API: есть из коробки.
4. Возможность найти помощь по проблемам. С этим всё отлично. Сообщество у Yii что надо.
5. Сложность изучения. Относительно низкая.
6. Производительность. Хорошая даже если специально не оптимизировать.
7. Подскажите что еще важно при выборе? Чтобы нравилось.
Ответ написан
fornit1917
@fornit1917
Любую
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
По мне не так важен язык и технология, сколько грамотное их использование.

В контексте вопроса, для диплома, лучше бы подошел ASP.NET, как минимум потому что есть возможность быстро и в пару кликов все что нужно для оформления диплома сгенерить (структура классов, таблиц в базе). Да и если изучить ASP.NET переход на популярные PHP/Java фреймворки не составит особого труда.
Ответ написан
viktorvsk
@viktorvsk
Врядли за такое короткое время, не располагая большим опытом, самому получится написать что-то стоящее по типу CRM, менеджера проектов и т.д.
Конечно, все зависит от того, что значит "с с# намного больше", но если нет реального опыта разработки продакшн приложения на нем, то я бы посоветовал взять https://github.com/redmine/redmine на ruby и к нему клиент написать клиент на фронтэенде (backbone, angular...), далее, если будет время, завернуть в экстеншн для браузера, или с фонгапом сделать приложение.

Ruby - много синтаксического сахара для быстрой разработки
Redmine - его используют даже там, где о руби вообще не знают, насколько мне известно, довольно качественный и гибкий продукт: не придется городить тонну своих велосипедов.
Клиент на фронтэнде - это довольно популярный скилл, заставит освоить много технологий, очень большое количество юзкейсов, просто интересно.
Плюс, если все-таки хоть что-то получится, то хорошие клиенты на рейдман покупают, вроде как ( rmclient.org/ru )
Ответ написан
@quizzer
Если лучше ориентируетесь в C#, то конечно ASP.NET MVC.
Ответ написан
miraage
@miraage
Старый прогер
Пишу на php около 3 лет, юзаю Yii.
Однако, если бы вернуть время назад, то я бы выбрал рельсы.
Ответ написан
@amankkg
Раз Вы еще студент и есть база C#, то думаю ASP.NET будет лучшим выбором. По DreamSpark через ISIC можно взять профессиональную студию. С остальными технологиями, к сожалению, не знаком, но по-моему, Ruby > PHP, если учите с нуля и нет разницы, хотя если исходить из доступности вакансий, то наоборот. Плюс у ASP.NET есть Web API, где есть OData. MS Office отлично дружит с OData, например, если во время защиты показать, как легко в Excel строить отчеты по Вашим OData endpoint'ам (по сути, по базе данных), то преподы это должны оценить.
Ответ написан
Комментировать
@raventid
У меня впереди магистерская диссертация в которой я планирую использовать Rust. На мой взгляд в академических работах стоит уделять внимание архитектуре, изящным решениям и попытке создать что-то прекрасное и недостижимое в реальной жизни разработчика, обильно сдобренной конфликтами и дедлайнами. PHP или Ruby за месяц выучится на работе, фреймворк тоже. C# неплох, выразителен. Раз есть база, то рекомендую использовать его, чтобы сосредоточиться на главном.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы