Рубрики
Uncategorized

PHP asp.net сравнение [рекомендуется]

Автор оригинала: David Wong.

Эти теги сообщают препроцессору, что они содержат код и что они должны быть обработаны. Подобно CGI, этот код запускается на сервере и возвращает некоторый контент, который является частью внешнего вида результирующей HTML-страницы, отправленной обратно в браузер. Языки сценариев с открытым исходным кодом PHP и Microsoft asp.net фреймворки оба относятся к этому типу; страницы JavaServer (JSP) и Perl/Mason также работают таким образом. В этой статье я сосредоточусь на PHP – технологии, которую Oracle решила включить в свои продукты, – и asp.net. Я расскажу о сильных и слабых сторонах обоих и сосредоточусь на факторах, которые помогут вам решить, какую технологию выбрать для вашего проекта разработки. Необходимо учитывать множество факторов, в разных проектах могут использоваться разные технологии. Таким образом, вы увидите цену за ценой, скорость и эффективность, безопасность, кроссплатформенную поддержку и преимущества решений с открытым исходным кодом. Что такое asp.net? Последняя версия asp.net не полностью обратно совместим с более ранними версиями ASP, поскольку программное обеспечение было полностью переписано. На самом деле, ранняя технология ASP имеет гораздо больше общего с PHP, чем с asp.net, который представляет собой полную платформу для создания веб-приложений. Одной из главных особенностей этой модели является гибкость выбора языка программирования. Asp.net может использовать языки сценариев, такие как VBScript, JScript, perlscript и python, а также скомпилированные языки, такие как VB, C, C, COBOL, Smalltalk и lisp. Новая платформа использует среду выполнения общего языка (CLR); сначала скомпилируйте исходный код вашего языка в код промежуточного языка Microsoft, а затем CLR выполнит код. Платформа также обеспечивает истинное объектно-ориентированное программирование (ООП) и поддерживает истинное наследование, полиморфизм и инкапсуляцию. библиотеки сетевых классов организованы в наследуемые классы на основе конкретных задач, таких как использование XML или обработка изображений. В дополнение к языкам программирования и методам, доступ к базе данных также является ключевой проблемой. Когда вы программируете с помощью asp.net, вы можете использовать ODBC для интеграции базы данных; ODBC предоставляет набор согласованных функций вызова для доступа к целевой базе данных. Сильные и слабые стороны Преимущество asp.net заключается в его простом дизайне и реализации. Это мечта объектно-ориентированных программистов: гибкий язык и поддержка сложных объектно-ориентированных функций. В этом смысле он действительно может взаимодействовать с существующими навыками программистов. Еще одно преимущество asp.net является его средой разработки. Например, разработчики могут использовать webmatrix, инструмент, поддерживаемый сообществом, visual studio. Net или различные инструменты Borland, такие как Delphi и C + + Builder. Например, Visual Studio позволяет устанавливать точки останова, отслеживать фрагменты и просматривать стеки вызовов. В целом, это сложная среда отладки. Многие другие сторонние asp.net решения ide неизбежны.

Но когда вы обретаете надежность, вы теряете эффективность. Asp.net это очень дорого с точки зрения использования памяти и времени выполнения, что в значительной степени связано с длинным путем кода. Для веб-приложений эти ограничения могут быть серьезной проблемой, поскольку в Интернете ваше приложение может масштабироваться до десятков тысяч пользователей в секунду. Использование памяти также может стать проблемой на веб-сервере. Что такое PHP? PHP-это язык сценариев, основанный на предварительной обработке модели HTML-страницы. Когда препроцессор PHP на веб-сервере найдет тег языка PHP, подобный следующему, он вызовет движок PHP для выполнения кода: php какой-нибудь код здесь ? > PHP знаком любому программисту, который использовал императивный язык программирования; вы найдете его синтаксически похожим на Perl, C и Java. Строго говоря, Java является императивным языком программирования, но он также использует объектно-ориентированную структуру и концепцию. PHP заимствует эту структуру, когда это уместно, но это не чистый язык ООП. В приведенном выше обсуждении asp.net, Я упомянул драйверы ODBC и то, как создавать приложения с учетом абстракции базы данных. В PHP вы также можете использовать ODBC для взаимодействия с базами данных, поэтому у вас есть ряд поддерживаемых баз данных на выбор. Существуют также собственные драйверы для MySQL, Oracle и Postgres. Кроме того, если вы хотите использовать Oracle, специальная библиотека oci8 предоставляет больший доступ к Oracle, позволяя вам использовать такие функции, как lob, blob, CLOB и BFILE. В этот момент вы можете спросить: “Почему база данных, связанная с базой данных, называется функцией PHP? ” Абстракция или независимость базы данных-это фактор, который следует учитывать при попытке создания приложений, использующих несколько баз данных или нуждающихся в переносе между базами данных (например, от разработки к производству). И это следует учитывать и учитывать. Но, как отмечает Том Кайт в своей новой книге “Эффективный oracle по дизайну”, корреляция баз данных будет вашей реальной целью, потому что это максимизирует ваши инвестиции в технологию. Если у вас есть общий доступ к Oracle – будь то через ODBC или библиотеку DBI Perl, вы не сможете использовать функции, которых нет в других базах данных. Кроме того, оптимизационный запрос отличается в каждой базе данных. Zend technologies – это коммерческая компания по разработке программного обеспечения, которая внесла значительный вклад в PHP. Он создает среду разработки бизнеса под названием Zend studio, которая включает в себя сложный отладчик, монитор и другие функции. Компания также создала бесплатный оптимизатор Zend, который работает с кодировщиком Zend для компиляции PHP-кода для повышения производительности. Существуют и другие коммерческие продукты, такие как Zend performance suite, которые могут кэшировать предварительно скомпилированные страницы PHP, что еще больше значительно повышает общую производительность.

Сильные и слабые стороны Начиная с бета-версии 4, PHP 5 все еще имеет некоторые недостатки, в том числе отсутствие процедур обработки ошибок на основе исключений и событий – они могут прерывать нормальный поток программы и переключать код в специальный раздел обработки ошибок. Java также предоставляет исключения для обработки ошибок, в то время как C + + обеспечивает обработку исключений с помощью синтаксиса try, catch и throw. Конечно, вы все еще можете управлять ошибками в PHP, но его структура не стандартизирована, из-за чего программистам приходится использовать свои собственные инструменты, чтобы решить, как выполнять обработку ошибок, что приводит к снижению согласованности и часто приводит к откату. Еще одна слабость заключается в том, что имена функций PHP не учитывают регистр. Хотя это не является серьезным недостатком, некоторые программисты могут счесть эту функцию раздражающей. Однако у меня есть сомнения по поводу объектной модели PHP. PHP специально не разработан как объектно-ориентированный язык. Некоторые из этих функций были добавлены позже – хотя внимание было уделено поддержанию обратной совместимости с PHP 3, поэтому некоторые функции остались для обеих моделей. На самом деле, многие из этих недостатков были устранены в PHP 5. Пожалуйста, обратите внимание. То, чего PHP не хватает в некоторых областях, он быстро восполнит в тех областях, в которых он преуспевает. Цена разумная, так что вам не нужно беспокоиться о лицензировании. Он также имеет открытый исходный код, поэтому все сообщество будет уделять пристальное внимание процессу разработки: находить и исправлять ошибки. Если вам не нравится одна функция, вы можете изменить код. Кроме того, PHP можно естественным образом комбинировать с Apache: он может быть скомпилирован как модуль или непосредственно в двоичные файлы Apache. Но работа на Apache означает, что с помощью PHP вы можете воспользоваться преимуществами любых вложенных вами инвестиций в сервер, потому что Apache может работать на Windows, Linux, Solaris и различных других платформах UNIX. Кроме того, использование веб-сервера с послужным списком Apache означает, что безопасность может быть обеспечена с наивысшим приоритетом. Наконец, PHP имеет меньший путь к коду, что означает меньший объем анализа и выполнения кода на стороне сервера PHP-страницы, что приведет к более эффективному использованию памяти и ускорению работы. Что нового в PHP 5? Четвертая бета-версия PHP 5 была запущена в конце декабря 2003 года, и журнал изменений четко показывает, что многие ошибки были найдены и устранены. Хотя он все еще тестируется, все его новые функции и достижения заслуживают внимания. Главным новым достижением PHP 5 является обработка исключений и новый объект. Функции, введенные этим новым объектом, дают PHP реальный ООП. Обработка исключений, несомненно, является одним из наиболее очевидных дефектов PHP 4, и внедрение PHP 5 для обработки исключений, несомненно, является зрелым признаком. Обработка исключений означает, что в вашем программном обеспечении есть определенные языком и стандартизированные методы обработки ошибок. Просто используйте методы try, catch и throw, чтобы сделать ваш PHP-код более надежным и лаконичным. класс php синий {функция OpenFile ($inFile) {если (файл_существует ($inFile)) {# код для открытия файла здесь} еще {создать новое исключение (“Не удается открыть файл:$inFile”); } }} $blueObj blue ();попробуйте {$blueObj->OpenFile (‘/home/shull/file.txt’);} catch (Исключение $MyException) {echo $MyException->GetMessage (); # остальная часть кода обработки исключений здесь}# остальные синие методы здесь? > Новая объектная модель оказывает много положительных эффектов на программы, написанные на PHP. В PHP 4, когда объект передается функции или методу, он передается по значению – если вы явно не укажете PHP иное. Этот процесс означает, что копия объекта (все структуры данных в памяти) должна быть скопирована. Этот шаг использует память, чтобы сделать доступ медленным и перегруженным. В PHP 5 объекты обычно передаются по ссылке. Новые объектно-ориентированные функции в PHP 5, включая конструкторы и деструкторы, заслуживают внимания. Как и C + + и Java, они предоставляют стандартный способ создания объектов, выделения памяти и выполнения любых необходимых настроек с помощью метода конструктора, а также выполнения очистки с помощью метода конструктора. PHP 5 также вводит более точный контроль над методами и переменными в классах. В PHP 4 все открыто: вы можете получить доступ к переменным в своем классе из-за пределов класса или из унаследованного класса. В PHP 5 вы все еще можете сделать переменные или методы общедоступными, но вы также можете сделать их частными, чтобы их можно было использовать только в самом классе. Они также могут быть защищены, то есть методы и переменные можно просматривать внутри класса или в подклассах. Кроме того, PHP 5 вводит подсказки типа или лучшую проверку типов. Когда вы передаете объект в подпрограмму, PHP может проверить, является ли он правильным типом, и выдать ошибку несоответствия типов, если проверка завершится неудачно. Поскольку существуют и другие функции, такие как статические методы, переменные и абстрактные классы, важно ознакомиться с документацией для получения подробной информации. Сравнение безопасности Asp.net официально требуется, чтобы вы использовали IIS. К сожалению, IIS имеет долгую историю уязвимостей, что заставляет многих администраторов неохотно развертывать его для обработки веб-сайтов. Эти недостатки обусловлены недостатками Microsoft или тем фактом, что IIS является целью хакеров, не имеет значения: эти системы имеют историю взлома или взлома. PHP также работает на Apache, который является быстрым и открытым исходным кодом и имеет хорошие показатели безопасности. Кроме того, как я уже упоминал, Apache может работать на многих платформах. Если вы думаете о asp.net, но вы хотите использовать Apache в качестве интернет-портала, вам повезло, что у вас есть несколько вариантов. Во-первых, вы можете использовать Apache для пересылки запросов в службы IIS, работающие внутренне на другом компьютере. Затем Apache обрабатывает статическое содержимое и передает содержимое ASPX на сервер IIS (не подключенный к Интернету). Однако, если вы хотите использовать Apache для размещения asp.net, существуют параметры, которые Microsoft может поддерживать или не поддерживать. В качестве последнего средства есть проект Ximian mono, который посвящен созданию модуля с открытым исходным кодом. Пожалуйста, посетите http://www.go-mono.com/для получения дополнительной информации. Пример кодирования базы данных, когда вы выбираете PHP или asp.net, одним из первых факторов, которые следует учитывать, является соединение с базой данных. Однако, используя asp.net это сложнее, потому что вы можете выбрать один из многих альтернативных языков. Конечно, эти примеры кода должны быть встроены в HTML-страницы, созданные экземпляры классов и так далее. Однако следующая информация даст вам некоторое представление об их стиле кодирования. PHP 5 и подключение к Oracle Ниже приведен класс PHP 5, который предоставляет процедуру подключения и отключения Oracle для демонстрации способа подключения к Oracle с помощью PHP 5 (вы также можете использовать другие драйверы (например, драйверы ODBC) и общий интерфейс базы данных): класс oracle_object { защищен $theDB; защищен $пользователь; защищен $pass; защищен $db; функция __конструкция($u, $p, $d) { $this->пользователь = $u; $this->pass = $p; $this->db = $d; } функция db_open () { $theDB = @OCILogon($это->пользователь, $это->пропуск, $это->бд); db_check_errors($php_errormsg); } функция db_close() { @OCILogoff($theDB); db_check_errors($php_errormsg); } функция __destruct () { печать (“пока…”); } } Asp.net и подключение к Oracle, если вы хотите использовать vb.net (Visual Basic-это Microsoft по умолчанию. Язык сетевого программирования) для подключения к Oracle взгляните на этот пример из MSDN: Система Импорта Система Импорта. Система Импорта Данных. Данные. Клиент Oracle Импортирует Microsoft. Пример класса Visual Basic Общедоступный Общий Вспомогательный() Dim oraConn Как соединение OracleConnection (“Данные;Интегрированные;”) Dim oraCMD Как команда ORACL (“ВЫБЕРИТЕ ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ, ИМЯ ИЗ ДЕМО.КЛИЕНТ”, oraConn) ораКонн. Открыть() Тусклый мой читатель Как. Программа для выполнения() Делайте, пока (мой читатель. Консоль чтения ()).Линия записи(vbTab & “{0}” & vbTab & “{1}”, мой читатель.GetInt32(0), мой читатель. getString(1)) Циклический читатель. Закрыть() ораКонн. Закрыть() Конечный подкласс

Сделайте выбор, предполагая, что вы еще не решили выбрать PHP, я могу утверждать, что преимущества PHP намного перевешивают его недостатки. (см. Резюме в таблице 1.) Эти преимущества сводятся к цене, скорости и эффективности, безопасности, кросс-платформенной применимости и возможностям с открытым исходным кодом. Его единственная слабость-отсутствие чистой и совершенной реализации ООП, но она невелика. Хотя структура языка действительно помогает, хорошее кодирование в конечном счете достигается практикой, исполнением, хорошими привычками и нормами. Сравнение PHP и asp.net Таблица 1 PHP 4 PHP5 ASP.NET Цена бесплатного программного обеспечения Цена бесплатной бесплатной платформы$ Высокая скорость, высокая эффективность, высокая надежность платформы безопасности (только IIS) Любой Win32 платформы (только) Предоставьте исходный код Да Нет Аномальных нет да ООП слабая сильная цена Здесь мы должны учитывать не только первоначальные инвестиции, которые, очевидно, бесплатны для PHP, но и стоимость внедрения, обслуживания и отладки. Для PHP вам, возможно, потребуется приобрести движок оптимизации Zend. Однако с ASP вы будете инвестировать с самого начала и будете платить за дополнительные технологии – например, библиотеки, выполняющие обработку графики. Но в долгосрочной перспективе PHP не заставит вас обновляться и взимать дополнительную плату за лицензирование. Каждый, кто сталкивался со сложным лицензированием, знает, что многие компании тратят много времени и денег только на то, чтобы обеспечить их соответствие требованиям. Кроме того, вы получаете разные ответы, когда получаете исправления ошибок. Это, конечно, выливается во время, что, в свою очередь, выливается в стоимость общей разработки. Скорость и эффективность, как я упоминал ранее, asp.net это фреймворк, который позволяет использовать различные языки программирования. Кроме того, говорят, что у него отличная объектно-ориентированная модель. Хотя все это правда, это нехорошо, когда вы думаете о скорости. По этим причинам запуск страницы ASP в asp.net требуется больше кода, чем для запуска эквивалентной страницы PHP в движке PHP. PHP-это “быстрое и грубое” решение, которое предназначено для завершения работы. Несмотря на то, что он значительно повысил надежность с 2.0 и 3.0, он по-прежнему сохраняет основной оптимизированный высокоскоростной метод. Скорость – не единственное соображение. Использование памяти также важно. Безопасность Asp.net работает на IIS, который подвергался атакам бесчисленное количество раз, что подтверждается новостями ИТ каждые две недели. Это стало таким бременем, что на самом деле многие ИТ-специалисты по-прежнему отказываются использовать веб-серверы IIS для открытия своих сетей, несмотря на огромные затраты на стимулирование продаж. PHP использует Apache. Apache обладает проверенными показателями скорости, надежности и надежной безопасности. Пожалуйста, посетите http://www.securityfocus.com/для получения дополнительной информации. Кросс-платформенная применимость Asp.net работает на IIS и запускается на Apache, который может работать на многих платформах. PHP был разработан для работы с Apache с самого начала, поэтому у вас есть много проверенных и надежных серверных платформ на выбор. Возможности с открытым исходным кодом Открытый исходный код зависит не только от некоторых причудливых программистов или компаний, которые хотят сэкономить на некоторых расходах на лицензирование. Когда вы имеете дело с программными ошибками, открытый исходный код может стать настоящей находкой. В случае PHP или asp.net, у вас будет большая база пользователей, которые используют программное обеспечение и могут столкнуться с ошибками. С asp.net, эти ошибки должны быть уведомлены, исправлены, протестированы и устранены в новом исправлении или версии через официальную программу. Однако исправления PHP могут быть исправлены и выпущены быстро. Любой, кто был свидетелем разработки с открытым исходным кодом, знает, что новые версии и исправления обычно выпускаются через несколько дней, а не недель или месяцев, как коммерческое программное обеспечение. Если это происходит недостаточно быстро, вы обычно можете устранить проблему самостоятельно, если это необходимо. Преимущества PHP в области веб — разработки Ваша текущая позиция: doodle demon old – > полные технические документы в глазах большинства веб-разработчиков ASP и JSP считаются лидерами, в то время как PHP считается слабым “борющимся человеком”, или это язык, который был деградирован для использования любителями, и не стоит участвовать в конкурсе корпоративной веб-разработки. На мой взгляд, причина, по которой PHP не рассматривается как конкурент, заключается в том, что рецензенты не понимают его, и они не знают других операционных систем для веб-разработки. Вопреки некоторым мнениям, Windows больше не занимает наибольшую долю рынка услуг виртуальных хостов в Интернете. Я предполагаю, что это также разрушается в области веб-разработки. Почему в корпоративной разработке нет PHP? Очевидно, что PHP считается настолько отстающим от ASP и JSP, что он бесполезен, но это просто неправда. PHP сам по себе является мощным языком. На самом деле он доступен в Linux для каждого выпуска, а также в Mac OS X. Вы можете бесплатно получить инструменты и программное обеспечение для создания блоков для разработки и использования PHP-кода. Коммерческую интегрированную среду разработки (ide) для разработки приложений PHP также можно найти в Komodo (она работает в Linux и Windows) и Zend studio (это приложение может работать в любой операционной системе с операционной средой Java). Тот факт, что вы можете запустить веб-сайт, созданный PSP, почти на каждом виртуальном веб-хостинге, независимо от того, под какой операционной системой работает сервер, делает PHP еще более привлекательным. Что может предоставить PHP? На некоторое время забудьте о том, что происходит вокруг PHP, и подумайте о том, что может предоставить сам PHP. Это надежный серверный язык, который может предоставлять довольно много функций и может быстро предоставлять услуги для страниц. Простота в использовании Любой, кто использует C, Perl или другой язык с аналогичным стилем и синтаксисом, может быстро начать работу с PHP. Хотя он предназначен для Интернета, его также можно использовать в качестве языка командной строки. Вам нужно каждый час или каждый день выполнять какой-то код для веб-приложения, которое вы пишете? Используя cron или аналогичный менеджер планирования, вы можете запланировать выполнение PHP-кода, когда захотите, что может быть выполнено с помощью обычных сценариев интерпретации команд или пакетных файлов. Вам не нужно автоматически вызывать браузер для просмотра определенной веб-страницы для выполнения ваших событий, и вам не нужно полагаться на клик посетителей, чтобы сообщить вашей системе, что определенный код должен быть выполнен в определенное время. Тот факт, что PHP масштабируется в этой области, абсолютно привлекателен. Преимущества PHP Я не ветеран JSP или ASP, и я не хочу принижать эти языки здесь. Вместо этого я сосредоточусь на преимуществах PHP. локализация PHP позволяет предоставлять локализованные услуги посетителям сайта. Когда пользователи нажимают, чтобы войти на веб-сайт, веб-сайт автоматически предоставляет им страницы на их родном языке в соответствии с настройками их браузера. Для достижения этой цели нам не нужно использовать сложные файлы для перевода на язык, но мы используем те же возможности, что и локализованные программы на языке Си, с помощью системы под названием gettext. Если запрошенный языковой файл существует, текст, который видит пользователь, является его родным языком; если языковой файл не существует, текст по умолчанию на английском или любом другом указанном вами языке. Многие локализованные приложения UNIX используют gettext в качестве стандарта, что упрощает перевод третьими лицами. Простая в использовании командная строка PHP поддерживает настройку и выполнение программ командной строки там, где это необходимо. Используя стандартный инструмент UNIX diff, он может сгенерировать разницу между последней модификацией ошибки и текущим комментарием, который будет отправлен по электронной почте владельцу ошибки. PHP-код выполняет различие между двумя файлами, записанными в системе, принимает выходные данные в качестве входных и преобразует их в электронное письмо для отправки. Это электронное письмо отправляется самим PHP. Другие преимущества, описанные выше, – это всего лишь две мощные функции, которые я использую в своей собственной программе, но есть и другие функции. Например, вы можете: Создавать простую флеш-анимацию в режиме реального времени. Создавайте PDF-документы мгновенно. Использование передовых математических функций, а также технологии объектно-ориентированного программирования. Чтение и запись в локальные почтовые ящики и почтовые ящики IMAP. Вы можете использовать любой стандартный интернет-протокол на PHP. Хотите написать FTP, веб-или новостной клиент на основе PHP? нет проблем! Только с помощью PHP вы можете создавать клиенты и серверы, использующие стандартные сокеты TCP/IP, и создавать свои собственные протоколы. Реализуйте поддержку шифрования и различных серверов баз данных. Обзор, в котором отсутствует дальновидность, я думаю, что это крайне недальновидно для тех, кто ищет лучший язык веб-разработки, чтобы исключить PHP. Я использую PHP для написания кода уже много лет. Я написал его на PHP, будь то расширенная функция, такая как система отслеживания ошибок, или просто повторное использование общих функций, таких как верхние и нижние колонтитулы. Я использовал PHP для написания полустатических страниц, а также для полнофункциональной мультимедийной демонстрации. Я не единственный, кто использует PHP. Если PHP не заслуживает внимания, если это просто язык педиатрии или любителей, почему это самый быстрорастущий язык в веб-разработке? Если он не такой мощный, как ASP или JSP, то почему он используется на сайтах с огромным трафиком? Например, говорят, что Yahoo построен на PHP. Разработчики привыкли к знакомым продуктам Я уверен, что у ASP и JSP есть свои сильные стороны, но я считаю, что люди используют их не потому, что они могут предоставлять более мощные функции, чем PHP, а потому, что они уже поняли их и хотят писать код по-своему. Исключение PHP может свидетельствовать только о незнании языка.

Оригинал: “https://developpaper.com/php-asp-net-comparison-recommended/”