Javascript RIA против .NET GUI

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

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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
748
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

Ответ принят как подходящий

Во-первых: чтобы ответить на ваш вопрос.

Tree Control трудно эмулировать в веб-среде. Выполнимо, но сложно (например, посмотрите Yahoos YUI).

  • Состояние: вы получаете это в WinForms, а не в Интернете. Это больше связано с тем, как люди используют приложение.
  • Взаимодействие: В WinForms это проще, чем в Интернете. Опять же, это выполнимо, но задействовано больше слоев.
  • Размер данных: Сколько данных отображается? Вы не видите сеток с тысячами записей в Интернете, которые могут быть обычными для WinForms. Это может повлиять на время загрузки Интернета больше, чем у WinForms.
  • Тестирование: сколько браузеров вам нужно для тестирования. Различия в JavaScript / CSS между браузерами могут усложнить жизнь. Черт возьми, IE6 усложнит вам жизнь, если вам придется для этого развиваться.
  • Время разработки: это примерно то же самое для разработчика, имеющего опыт работы в обеих средах.

Но есть ряд других вопросов, которые возникают в вашем первоначальном заявлении.

Зачем переходить с WinForms VB.Net на PHP? Вместо этого перейдите в ASP.Net с VB.Net. Может спасти вас от полного изобретения велосипеда. Кроме того, тогда вам не придется учиться конвертировать между фреймворками.

Спасибо за ответ. Что касается типов браузеров, мы можем предписать использовать только один тип. Что касается причины перехода на PHP, это будет связано с бизнесом / ресурсами.

Jonathan 21.12.2008 02:41

Я скажу, что да, все, что «МОЖЕТ» быть воспроизведено, но количество времени, чтобы сделать это, может сразу стать большой бутылкой.

Я предполагаю, что ваше текущее приложение является приложением ASP.NET и что вы не переходите с WinForms. (Если вы ответите почти так же ... но я мог бы добавить несколько дополнительных комментариев).

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

Во-вторых, вам очень легко работать с функциональностью ASP.NET AJAX в сочетании с AJAX Control Toolkit. Это снова позволяет вам использовать логику .NET для объединения вещей, но можно ли их воспроизвести? Да, jQuery и многие другие фреймворки AJAX содержат элементы, похожие на многие элементы.

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

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

  1. Microsoft предоставляет мастера для всего.
  2. Microsoft повышает уровень абстракции высокой, вплоть до точки, иногда это воспринимается, что «отвалы вниз» разработчики, хотя это спорно. Подробнее об этом в №5.
  3. Обилие сторонних виджетов, элементов управления и т. д.
  4. Тесная интеграция с IDE, такой как Intellisense, Source Control, IE, Excel, SQL-серверы и т. д., Не предусмотрена.
  5. В том же направлении, что и №2, MS предоставляет в своей среде IDE функцию «перетащить и оставить», «укажи и щелкни». Microsoft также любит концепцию привязки данных, поэтому в результате вы можете получить таблицу или сетку данных с потенциально очень небольшим количеством строк кода.
  6. Отладка выполняется без проблем, в большинстве случаев сразу после установки.

Я бы сказал, что если ваше приложение несколько проще, вы сможете быстрее выполнить его с помощью фреймворка Microsoft. В среде интрасети, где вы можете управлять браузером (в случае веб-приложений), который должны использовать пользователи, или какой фреймворк установить (.NET framework и / или плагин Silverlight), и время разработки имеет решающее значение, тогда выполнение путь Microsoft может оказаться правильным.

Есть недостатки (я должен сказать следующее, за исключением StackOverflow и нескольких сайтов, созданных с использованием ASP.NET, которые действительно хорошо сделаны):

  1. Ваши приложения имеют тенденцию быть раздутыми. Простое настольное приложение по-прежнему требует полной установки .NET framework.
  2. Иногда простая вещь может привести к тому, что вы будете делать всевозможные запутанные вещи, поскольку API Microsoft не всегда самые чистые.
  3. Для веб-приложений, использующих ASP.NET, вы можете получить приложения, содержащие очень уродливые коды JavaScript. Хотя это не имеет прямого отношения к этому моменту, был случай, который недавно обсуждался на Ajaxian.com, когда кто-то обнаружил действительно уродливый код JavaScript прямо внутри SharePoint. С точки зрения культуры, большинству разработчиков ASP.NET все равно, в этом нет необходимости или они просто не знают JavaScript. Это потому, что структура поощряет это (хотя это может измениться в будущем с интеграцией jQuery).
  4. Ваше веб-приложение, как правило, не запускается ни на чем, кроме IE, и это может быть приемлемо в вашей ситуации. Если да, то это могло быть случайно, а не намеренно.
  5. Microsoft заменяет свои собственные технологии каждые несколько лет и предлагает очень небольшую обратную совместимость. Они заставляют разработчиков переучиваться каждые несколько лет и могут сбивать с толку в любой переходный период, когда мы пытаемся разобраться во всем. В качестве примера. в настоящее время это происходит с ASP MVC и Silverlight. Но это могло быть хорошо, а не недостатком.

Другие вопросы по теме