ASP.Net MVC или Zend Framework. Каково твое мнение
Я ищу, чтобы начать новый проект, и я пытаюсь решить, с какой структурой работать. Я использую ASP.Net некоторое время и наслаждаюсь этим. Мое первое знакомство с веб-приложениями было с PHP, и я все еще люблю его. Проект должен быть проектом среднего размера, поддерживаемым 1 или 2 разработчиками с потенциалом роста. Единственные плюсы и минусы могут думать о следующем:
ASP.Net MVC
Pros
- Большая поддержка и увеличение сообщества
- Кажется, будет полнофункциональный
против
- Получение выделенного сервера будет дорогостоящим.
- Лицензионная версия SQL Server будет дорогостоящей
Преимущества Zend Framework
- Также довольно большое сообщество
- Бесплатно, используя типичную настройку LAMP
против
- Не как основной
- Возможные ограничения
Наконец, мне понравилось работать с ASP.Net-концепцией мастер-страниц. Поддерживает ли ASP.Net MVC это и делает Zend Framework что-то подобное. Я думаю, что Zend предлагает что-то, называемое templating, и оно выглядит близко к страницам мастера.
Каково ваше мнение?
Ответы
Ответ 1
Я думаю, что ZF больше подходит для этого на основе ваших требований. Концы, которые вы указали в отношении ZF, довольно субъективны, но стоимость ASP.NET является определенной.
Там определенно богатое сообщество, работающее над Zend Framework и его выпуском 1.0, прошло более года назад, поэтому оно стабильно и надежно.
Zend Framework поддерживает двухэтапное представление, в котором шаблон шаблона отображается внутри шаблона макета. Я думаю, что это удовлетворяет вашу потребность в мастер-страницах.
Кажется, у вас одинаковая любовь к PHP и ASP. Если бы я принимал решение, я работал бы с тем, что я наиболее уверенно использую, или которое будет наиболее актуальным для будущего.
Ответ 2
Я пробовал как Zend Framework, так и ASP.NET MVC, и мое впечатление заключается в том, что ASP.NET MVC легче всего разрабатывать. ZF занимает много времени, чтобы учиться, и также требуется слишком много времени (по моему мнению) для настройки. ZF также ограничивает вас во многих случаях, заставляя создавать большие обходные пути для вещей, которые должны быть реализованы по умолчанию в рамках. Многие из библиотек ZF предлагаются также для очень конкретных вариантов использования и их трудно настроить.
В ASP вы можете запустить приложение в кратчайшие сроки. Любые изменения, которые вы хотите внести в настройку по умолчанию, задокументированы. У вас также есть преимущество "реального" языка программирования, такого как С#. Шаблон MVC в сочетании с реальным языком программирования облегчает unit test, особенно хорошо, если вы участвуете в разработке, основанном на тестах. Мой список профилей ASP.NET MVC:
- Легкая локализация и глобализация с помощью платформы .NET
- Мастер-страницы гораздо проще в использовании и более гибкие, чем макетная модель в ZF
- Вы получаете все хорошие вещи от ASP.NET, таких как SiteMap и т.д.
- Linq
- Microsoft Entity Framework/NHibernate/ Spring.NET
О стоимости сервера и SQLServer многие хостинговые компании предоставляют выделенные серверы по довольно приличным ценам.
Ответ 3
Просто прошел и увидел это. Как кто-то, кто использовал ASP.Net в течение нескольких лет и Zend Framework в течение нескольких лет (сам PHP в течение многих лет и ASP.Net MVC кратко), я бы определенно выбрал PHP и ZF. Я нашел полную противоположность и не вижу, чтобы кто-нибудь мог найти что-либо в ASP.Net, чтобы быть более гибким. Я думаю, что большинство людей означает "гибкий", так это то, что IDE делает многое из завершения кода, или фреймворк делает все для них. Более поздняя - это полная противоположность гибкости. Честно говоря, ZF может быть слишком гибким. Вот почему документация в то время как обширная, кажется, не охватывает все. Повторное использование с ZF для моих проектов было отключено от диаграмм. Он определенно был лучше, чем простой ASP.Net.
Вероятно, вы найдете те же функции как в большинстве, так и в стандарте MVC и, вероятно, больше в ZF. Библиотека Zend_Db работает так же, как LINQ, и любой динамически типизированный язык победит в доступе к БД (следовательно, причина .Net должна была добавить его для LINQ). ZF также имеет встроенную систему маршрутизации URL-адресов... ничего удивительного в этом .Net MVC. Мастер-страницы обрабатываются системой компоновки в ZF, и, честно говоря, вы могли бы делать мастер-страницы с сырым PHP несколько лет назад. Я не знаю, откуда будут появляться комментарии о "реальном" языке... Проекты PHP и ZF могут быть протестированы на единицу. Я делаю это все время. Если ваши корни не находятся в C/С++, тогда обычно "реальный" язык означает, что он заставляет вас писать код OO. Учитывая любой другой вариант, вы не будете, потому что не знаете, как обеспечить его выполнение самостоятельно.
В заключение проверьте функции как для себя. С годами наблюдения это происходит из первых рук, и я могу сказать вам, что толпа .Net расскажет вам обо всех видах "эксклюзивных".Net-функций, которые проистекают из-за отсутствия фактических знаний о других технологиях и инфраструктурах. По правде говоря, большинство, если не все функции доступны на других платформах... многие из них старше, чем .NET-реализации.
Ответ 4
Если вас беспокоит стоимость лицензии, возможно, вам следует использовать другую базу данных?
Достаточно времени PostgreSQL и mySQL.
Ответ 5
Я был разработчиком .Net(С#, VB.Net, Asp.Net) за последние 8 лет и разработал несколько веб-приложений. Для моего последнего проекта мне пришлось отключить свои навыки PHP. Клиент предпочел полностью открытую исходную платформу. Я решил использовать PHP + Zend Framework + mySql на сервере Linux. Кривая обучения крутая в начале, но как только вы заберете навыки, вы получите очень быстро и результативно.
Ответ 6
Да, вы можете иметь мастер-страницы для своих представлений в ASP.NET MVC Framework, он работает почти так же, как и в Webforms.
Ответ 7
Я не понимаю, почему люди перечисляют минусы в .NET, что MSSQL дорого..NET имеет MYSQL API, который поддерживает MYSQL и другие базы данных.
Ответ 8
Если вы планируете вести бизнес, взгляните на Microsoft Empower и BizSpark. Они могут помочь вам с расходами на лицензирование, пока ваш бизнес не сможет встать на ноги.
Ответ 9
Я работаю как профессионально, так и создавая приложения уровня предприятия. Оба подхода полностью действительны, поддерживаются, документируются и хорошо реализуются с опытным разработчиком.
Что хорошо с .NET в целом, так это то, что у вас есть комплексное комплексное решение. От Visual Studio до IIS до SQL Server и когда-либо между ними, все это создавалось одной компанией для совместной работы. У вас также есть довольно выдающаяся производительность на компилированном языке и массивная структура, интегрированная во всю систему доставки.
PHP - это язык с плохой репутацией из того, что кажется большим количеством слабых разработчиков. Это огромное сообщество с разработчиками совершенно разных уровней квалификации. Это также не помогает, что это довольно неверно настроенное сообщество с большим количеством вилок в дизайне, чем ваш кухонный ящик. Множество разных фреймворков, много разных cms, а некоторые действительно раздуты и медленны. Zend Framework, безусловно, достойна работы, и мне нравится программировать с ней. ZF2 теперь отключен, что, похоже, приближается к более прогрессивным конкурентам на арене OS, например, рельсы и Django, хотя строительные леса по-прежнему кажутся вопиющей функцией MIA (хотя и доступной в Yii) для тех, кто не хочет на самом деле но просто быстро автоматически создавайте функциональность CRUD.
В целом вы можете создавать отличные сайты с обоими. Я думаю, что С#.NET MVC с Razor станет отличным вариантом, если вы хотите научиться "правильному пути" делать что-то, и у вас нет опыта работы в MVC и написании СУХОГО кода. Однако, если вы опытный разработчик и знаете, что делаете, вы можете сделать то же самое в PHP (что позволяет плохим программистам успешно уйти с абсолютно ужасным кодом).
Ответ 10
Во-первых, я рекомендую не использовать PHP, но лучше использовать язык Python. Вы кодируете меньше, быстрее, стабильнее и с меньшими проблемами обслуживания. В настоящее время я использую Pylons-Framework и очень доволен этим.
В любом случае, если вы хотите остаться с PHP, это зависит от того, насколько вы гибки, а что означает, насколько рамки будут делать для вас.
Недавно я столкнулся с проблемой проблем с использованием CodeIgniter, которая представляет собой быструю и легкую структуру, которая делает, ehm, не так много для вас, а только "фрейм". Существует вилка под названием "Кохана", которая является бесспорным относительно лицензирования, но плохо документирована.
Zend ist очень мощный, но сложный - что больше похоже на PHP, чем на Zend-проблему.
Symfony также является мощным и полным. Он полностью получен из Ruby on Rails, и у меня никогда не было PHP-проекта, где я использовал все функции Symfony. У него действительно красивые леса.
Из всех PHP-Framework, которые я пробовал, мне понравился CakePHP больше всего. Это похоже на средний уровень сложности и простой в использовании подход.
Все серьезные PHP-Framework поддерживают стандартные приложения, такие как шаблонирование, моделирование и кэширование.
Ответ 11
Как разработчик, я думаю, что это больше abp asp.net и php. Я знаю asp.net больше, чем php, поэтому я предлагаю asp.net. Также вы не можете иметь силу linq с php, что является очень большим преимуществом.
Zend существует здесь с некоторого времени, Asp.net MVC по-прежнему нова. Я видел, что многие разработчики более удобны с традиционными методами, чем MVC.
MS имеет открытый MVC с открытым исходным кодом, поэтому его сообщество наверняка будет расти.
Ответ 12
* Getting a dedicated server will be expensive.
что вы подразумеваете под выделенным сервером? Вы должны размещать любой сайт, используете ли вы ASP.NET MVC или PHP + Zend framework.
* A licensed version of SQL Server will be expensive
В зависимости от размера вашей базы данных вы можете использовать бесплатную версию sql express из Microsoft или MYSQL. ASP.NET MVC работает с любой базой данных под капотом.
Кроме того, мне не нравится, как вы должны использовать всю вещь "_" для обозначения Zend/File как Zend_File. Что с этим? ASP.NET MVC хорошо разработан и имеет открытый исходный код и имеет встроенную систему маршрутизации URL.
Ответ 13
Я также решаю между 2 + Ruby on Rails...
Я использую Zend Framework 1.8.2 и люблю его (начал abt ~ 3 м. назад). его кривая обучения крутая. но теперь мне это очень нравится. кроме MVC у него есть Zend_Forms, что позволяет мне даже отделить логику ввода и валидацию с хорошо.
templating достигается через Zend_Layouts и Zend_View. Я не знаю, как изменить макеты (теперь у меня есть весь сайт, используя тот же макет...), но я думаю, что это возможно.
но после Zend Framework какое-то время я знаю, что это сложно, и теперь изучает, есть ли у них какие-то лучшие фреймворки.. поэтому ASP.NET MVC и Ruby on Rails
Первое впечатление на ASP.NET MVC в порядке, возможно, нужно знать, как они делают формы и валидацию. кроме этого... я чувствую, что LINQ GREAT!
для Ruby on Rails мне нравится автогенерация моделей и форм одновременно. ускоряйте все, но вам нужно знать, будет ли легко настраиваться автоматическая сгенерированная форма. наблюдал за скринкастом на официальном сайте, и включение AJAX кажется легким.
Ответ 14
Если вы собираетесь использовать PHP, я бы попробовал другую фреймворк, мне не очень понравилась структура Zend.
Почему бы не попробовать CakePHP?
Есть много фреймворков PHP-MVC лучше, чем Zend.
Отметьте http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks
Ответ 15
Выделенный сервер МОЖЕТ стоить еще $10 для платформы Windows. Мог бы. И вы можете получить хорошие предложения для хостинга с MSSQL Server. И вам нужен выделенный сервер для начала? Удачи вам в проекте, хотя!
Ответ 16
Я работаю над .net на 3 года.
.net имеет некоторые недостатки, такие как дорогостоящая стоимость базы данных и хоста.
Но вы можете использовать ms sql express, который имеет бесплатную лицензию.
Проблема с .net такова: у него нет активного сообщества, такого как php,
что так важно!
В течение многих лет у меня была эта проблема, когда мне нужен был компонент, мне приходилось много искать
для бесплатной версии компонента. Однако в php все бесплатно!
Но в целом я думаю, что разработка программного обеспечения в .net происходит быстрее и проще, потому что когда вы
кодирования и проектирования, это VS, который делает для вас большинство вещей.
И особенно кодирование в .net держит вас подальше от большинства деталей, потому что у него очень хорошая абстракция.
Ответ 17
По моему опыту, ZF не сложно изучить, особенно если вы понимаете MVC/ROR. CakePHP больше похож на ROR, но подходит только для небольших веб-сайтов.
Вы можете взглянуть на "Быстрый быстрый стартер для ZF New Guys": http://blog.sunnyboy.me/2013/05/20/14848/
Ответ 18
Выберите Symfony и используйте ZF-компоненты внутри него. Sf имеет потрясающую документацию для чтения, богатые возможности сообщества+. Sf просто внедряет в него множество инструментов с открытым исходным кодом, таких как Twig, Doctrine, Unit Testing, Инструменты оптимизации активов (Uglify JS, YUI-компрессор), Swiftmailer, Monolog...