Платформы разработки net java

Платформы разработки net java

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

Сравнение технологий Java и NET

Различия, достоинства и недостатки каждой из платформ проистекают из исходных различий в идеологии Java и .NET. Идеологию Java можно выразить фразой «написано однажды, работает везде», а идеология .NET заключается в максимально полном использовании ресурсов платформы, на которой работает среда выполнения .NET. В результате возможности Java ограничены усредненным набором функций API виртуальной машины, и программистам на Java недоступны все функции той или иной платформы, на которой выполняются приложения. В случае с .NET среда выполнения предоставляет доступ к специфичным возможностям Microsoft Windows, позволяя приложению тесно взаимодействовать с операционной системой и пользоваться всеми преимуществами платформы Windows, например прозрачно работать с COM-объектами, службами Windows (в частности, Active Directory), кроме того, пользователь имеет дело с удобным и привычным графическим интерфейсом Windows. Разумеется, при использовании Java можно «докопаться» до возможностей платформы, но зачастую это требует написания большого количества нетривиального кода.

Еще одно идеологическое различие между Java и .NET состоит в том, что первая изначально создавалась для одного языка программирования — Java. В то время как .NET была спроектирована с учетом поддержки неограниченного количества языков программирования за счет реализации общеязыковых сред инфраструктуры CLI и выполнения CLR, накладывающих определенные правила на используемые в языке типы и вызовы функций, позволяющие взаимодействовать коду, написанному на разных языках программирования, поддерживающих CLI. Таким образом, на настоящий момент существует порядка 30 известных реализаций языков программирования для платформы .NET, в то время как поддержка других языков на Java находится на этапе зарождения и весьма скудна.

Читайте также:  font-size

В контексте применения .NET или Java в решениях для бизнеса интеграция с наиболее распространенным офисным пакетом является весьма существенным аргументом. За счет использования привычного интерфейса и приложений, входящих в Microsoft Office, можно в значительной степени упростить работу конечного пользователя с системами документооборота и управления ресурсами. Благодаря возможности прозрачно использовать COM-объекты, .NET приложения могут с легкостью взаимодействовать с объектной моделью Microsoft Office. А начиная с версии Microsoft Office 2003 можно создавать расширения для Microsoft Office с помощью .NET.

Не менее важна доступность средств разработки. Для .NET имеется интегрированная среда разработки Visual Studio, позволяющая писать приложения, задействуя весь функционал платформы .NET и Microsoft Windows. В Visual Studio существуют встроенные средства для отладки настольных и Web-приложений, включая отладку кода клиентских скриптовых языков, выполняемых в Web-браузере, и отладку приложений для мобильных устройств с использованием программных эмуляторов. Более того, есть несколько редакций среды разработки Visual Studio, обладающие расширенным набором возможностей для различных ролей участников проекта, таких как архитектор, разработчик, специалист по тестированию и разработчик баз данных. Вместе с серверным решением для обеспечения процесса разработки программного обеспечения Team Foundation Server данные инструменты позволяют писать высококачественные приложения в весьма сжатые сроки.

Модели компиляции и выполнения Java и .NET приложений достаточно схожи — в обоих случаях в результате компиляции получается некоторый промежуточный код (байт-код в Java и код на промежуточном языке MSLI в .NET), который затем обрабатывается средой выполнения. Для повышения производительности используется модель компиляции в машинный код по мере необходимости — just-in-time compilation (JIT). Производительность .NET-приложений для большинства задач значительно превышает производительность Java-приложений за счет того, что в .NET компиляция JIT реализована на уровне методов, а в Java — на уровне классов. Даже если для работы приложения требуется вызов лишь одного определенного метода в классе, то в случае с Java произойдет полная компиляция промежуточного кода класса, что приводит к выполнению лишней работы и снижению общей производительности.

Читайте также:  Setcontentview r layout main kotlin

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

Вывод

— множество языков программирования;

— сильные рыночные позиции и мощная маркетинговая команда;

— сложившееся сообщество Windows-программистов;

— законченность решения, обусловленная наличием в продуктовой линейке компании всего спектра серверного ПО, от ОС до СУБД и веб-серверов;

— наличие лишь одного поставщика гарантирует нефрагментированность платформы в будущем;

— платформа технически совершеннее, что признают даже в Sun. В этом нет ничего удивительного, ведь .NET появился почти на пять лет позже — а значит, было время изучить ошибки конкурента;

— конкурентность рынка поставщиков;

— сложившееся сообщество Java-программистов.

Поскольку большинство современных настольных компьютеров работают под управлением операционной системы Microsoft Windows, сообщество пользователей Windows и разработчиков для этой операционной системы воистину огромно. В связи с этим регулярно появляются оригинальные решения сообщества, которые могут быть интегрированы с решениями, создаваемыми для Windows. В то же время значительную часть сообщества разработчиков на Java составляют приверженцы UNIX/Linux-платформ, многие из которых сильно различаются между собой. Поскольку платформа .NET тесно интегрируется с Windows, то опыт, накопленный сообществом пользователей Windows, полноценно переносится на базу .NET. Для разработчика под Windows в значительной степени проще перейти к использованию платформы .NET, чем Java, и возникает банальная проблема поиска кадров и обучения сотрудников при попытке создавать и поддерживать Java-приложения на платформе Windows. Преимущества Microsoft-ориентированной инфраструктуры в этом случае связаны даже не столько с опытом пользователя операционной системы Windows, сколько с наличием полного спектра легко интегрируемых решений Microsoft — от офисных пакетов, серверов приложений и баз данных до мощных CRM- и ERP-приложений.

В итоге на сегодняшний день .NET позволяет максимально повысить производительность разработчика, что в конечном итоге сказывается на возможностях скорейшего реагирования ИТ-инфраструктуры на быстро меняющиеся условия бизнеса. И .NET превалирует над Java в сегменте малого и среднего бизнеса.

Источник

Оцените статью