JavaScript/CSS по сравнению с Silverlight по сравнению с Flex

Исходники C / C ++, скомпилированные в исполняемые файлы, могут следовать Разбор аргументов командной строки C ++

Код запуска Microsoft C / C ++ использует следующие правила при интерпретации аргументов, данных в операционной системная командная строка:

  • Аргументы ограничиваются пробелом, который является пробелом или табуляцией.

  • Символ каретки (^) не распознается как escape-символ или разделитель. Этот символ полностью обрабатывается анализатором командной строки в операционной системе перед передачей в массив argv в программе.

  • Строка, заключенная в двойные кавычки («строка»), интерпретируется как один аргумент, независимо от пробела, содержащегося внутри. Строка в кавычках может быть встроена в аргумент.

  • Двойная кавычка, которой предшествует обратная косая черта (\ "), интерпретируется как буквальный символ двойной кавычки (").

  • Обратные слеши интерпретируются буквально, если только они непосредственно не предшествуют двойной кавычке.

  • Если за четным числом обратных косых черт стоит двойная кавычка, один обратный слеш помещается в массив argv для каждой пары обратных косых черт, а двойная кавычка интерпретируется как разделитель строк.

    [ 1112]
  • Если за нечетным числом обратных косых черт следует двойная кавычка, один обратный слеш помещается в массив argv для каждой пары обратных косых черт, а двойная кавычка «экранируется» оставшейся обратной косой чертой, вызывая буквальная двойная кавычка ("), помещаемая в argv.

blockquote>

Довольно часто встречается для программ на C ++. Интерпретатор команд начал свою жизнь до того, как была установлена ​​упомянутая обработка аргументов C ++. reg.exe и другие программы, скомпилированные из источников C ++, обычно имеют такую ​​обработку аргументов.

forfiles.exe не является встроенной командой для интерпретатора команд, поэтому встроенная справка cmd.exe не будет информировать вас о том, как внешне исполняемые файлы могут вести себя.

Как вы обнаружили, вы можете избежать двойных кавычек с обратной косой чертой, т. е. \". Это позволяет вам иметь двойные кавычки в строке в двойных кавычках, т.е. "\"string\"", так что кавычки сохраняется программой, которой передан аргумент. Чтобы избежать побега, удвойте обратная косая черта, т. е. \\.

Вы получаете ошибку: 1 двойная кавычка удаляемой пары и сохраненная двойная кавычка сохраняется, поэтому оставшаяся двойная кавычка вызывает синтаксическую ошибку.

6
задан ISW 25 January 2009 в 16:57
поделиться

7 ответов

Во всей честности я осуществил бы рефакторинг старый код JavaScript и не переписал бы приложение. Так как Вы спрашиваете, о которой платформе вставить его, я предположил бы, что Ваша команда не является экспертом ни в одном из них (не хлопанье командой, это - просто очевидный факт, что необходимо рассмотреть при принятии решения). Это будет работать против Вас, поскольку у Вас будут двойная перезапись обязанности и изучение, как сделать вещи на новой платформе.

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

Так, как я очень не хочу допустить это, поскольку это является всегда самым забавным для разработчиков, смещение платформ и замена всей системы сразу редко работают. Существуют бесчисленные примеры этого, Netscape для одного. Вот сообщение от Spolsky на нем. (Я также рекомендовал бы книгу, Мечтающую в Коде. Это - превосходный пример проекта программного обеспечения, который перестал работать и как и почему). Не забудьте переписывать систему с нуля, Вы по существу оказываетесь перед необходимостью проходить каждую строку кода и изображать то, что она делает и почему. Сначала Вы думаете, что можно пропустить его, но в конечном счете это сводится к этому. Как Вы сказал, Ваш код стар, и это означает, что существуют наиболее вероятные взломы в нем, чтобы сделать что-то. Некоторые из них, которые можно проигнорировать, и другие, будут, "Я не знал, что системе был нужен он, чтобы сделать это".

15
ответ дан 8 December 2019 в 02:41
поделиться

Это решение обычно меньше о технологии, и больше о Ваших наборах навыков и зонах комфорта.

Если у Вас есть парни, которые едят и вдыхают JavaScript, но ничего не знают о .NET или Flash/Flex затем нет ничего неправильно с тем, чтобы придерживаться JavaScript и положением на библиотеку как jQuery или Прототип.

Если у Вас есть навыки, или в других затем Вы могли бы получить более быстрый результат с помощью Silverlight или, или в Flex, как Вы получаете довольно большую функциональность "бесплатно" с ними обоими.

5
ответ дан 8 December 2019 в 02:41
поделиться

Эти вещи приходят на ум:

  • Поскольку у Вас есть бэкенд .NET, и у Вас есть некоторая способность вынудить Ваших клиентов на определенную платформу, Silverlight является опцией;
  • Так как Вашим клиентом является полноценный UI, Вы хотите виджеты и возможно другие функции как Перетаскивание;
  • Я не видел требований, которые мне выровняли бы по ширине запуск по (который часто не удается) в Flex/Silverlight (например, потоковое видео, поддержка SVG. Добавленный к знакомству Вашей команды с JavaScript, я думаю, что Вы не можете сделать веские основания для того, чтобы сделать его в чем-либо кроме JavaScript.

Но конечно JavaScript является большим количеством вещей и существует [много Javascript frameworks1. Самый важный делитель - состоит ли Ваше намерение в том, чтобы "украсить" ряд Веб-страниц, или Вам нужен полный набор Виджетов для создавания подобного рабочему столу приложения в сети. Ваш вопрос указывает, что это - последний.

Как таковой - и я могу получить downvoted для того, чтобы сказать это - я не думаю, что jQuery является ответом, и я говорю это как кто-то, кто любит jQuery. jQuery (по моему скромному мнению), является большим улучшить Веб-страницы и абстрактную низкоуровневую функциональность перекрестного браузера, но наиболее важный фактор для сложного разработчика UI - это:

Это - все о виджетах.

И да я знаю о jQuery UI, но это намного более редко, чем другие когда дело доходит до виджетов. Я предлагаю, чтобы Вы смотрели на образцы и галереи виджета некоторых платформ:

Другие (jQuery, Dojo, Mootools, Прототип) являются более "компактными" платформами возможно меньше подходящее для Вашей цели.

Также рассмотрите лицензию каждой платформы при принятии решения.

Мои мысли о вышеупомянутых трех:

  • ExtJS несколько возмутил сообщество, в котором он начался как LGPL, но имел спорное изменение лицензии (что поток на уровне 76 страниц!) к GPL/commercial в версии 2.1. Проблема с этим сообщество больше не имеет активное участие в разработке платформы. Не версия магистрали так или иначе. Это означает, что разрабатывается и поддерживается малочисленной командой (возможно один человек), а не сообщество. По моему скромному мнению, не стоит оплачивать коммерческую лицензию это, и GPL, вероятно, препятствует в Вашей ситуации;
  • YUI поддерживается Yahoo и доступный в соответствии с намного большим количеством разрешающей и намного менее агрессивной лицензии BSD. Это является сформировавшимся, хорошо используется и определенно стоит серьезного внимания; и
  • SmartClient производит на меня впечатление много. Это имеет, возможно, самую разрешающую лицензию всего (LGPL), примерно семь лет, имеет невероятно впечатляющий массив в наличии виджетов. Проверьте их проводник функции.

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

  • Кодирование виджетов UI как деревья и аккордеоны;
  • Тестирование и фиксация перекрестного браузера JavaScript и проблемы CSS;
  • Создание платформ собственной разработки, которые значительно копируют то, что существующие платформы делают и преуспевать.

Я серьезно посмотрел бы на один из вышеупомянутых трех как Ваш путь вперед.

5
ответ дан 8 December 2019 в 02:41
поделиться

Любой JavaScript, который Вы имеете, который был разработан 'За эти годы', вероятно, не смотрит ничто как то, что возможно сегодня. У Вас, несомненно, есть много полезного кода там. тем не менее. Таким образом, моя рекомендация была бы, переписывают в JavaScript с помощью jQuery и используют одно из доступных дополнений GUI, возможно, смотрят на материал Yahoo. Вы также будете нацелены на самую широкую аудиторию этот путь.

2
ответ дан 8 December 2019 в 02:41
поделиться

Мое мнение об этом довольно простое: если приложение не должно быть доступным публично, если это не должна быть поисковая система, оптимизированная и findable, и/или существуют в других отношениях веские основания для того, что это имело необходимость остаться строго основанными на тексте, затем микросхемы сложены в пользу времени выполнения толстого клиента как Flash или Silverlight прямо из логического элемента.

Большая причина, если не самое большое, состоит в том, что они устраняют сложности разработки для нескольких браузеров и платформ. Снова: они устраняют переменную среды выполнения. Больше никаких отлаживающих старых версий Netscape и IE, больше никакого обнаружения объектов и последовательного ветвления, никаких более дурацких взломов CSS - одна кодовая база, и Вы сделаны. Разгрузка среды выполнения к Adobe или Microsoft сэкономит Вам время, деньги и головные боли, все остальное равняется. (Несомненно, существует YUI, JQuery, и т.д., но они не устраняют ту переменную - они просто абстрагируют его. И они не абстрагируют все это, любого - только часть его; в конечном счете все еще ваше дело тестировать, отлаживать, повторно тестировать, отлаживать, повторяться.)

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

С моей стороны я - давний парень серверной стороны, ASP.NET/C# в течение прошлых нескольких лет, и я записал много основанных на тексте приложений направления деятельности в свое время, несколько последних с сильным акцентом на поставку богатого суверенного UIs с JavaScript. Я также провел последние годы почти исключительно с Flex. У меня есть опыт в обоих мирах. И я могу сказать Вам без колебания, что прямо сейчас, это - все задание else для избиения Flex: это - просто удивительно универсальный и продуктивный продукт, и для приложений направления деятельности, это остается стремительно перед Silverlight. Я просто не могу рекомендовать это достаточно высоко; одними только функциями привязки данных и обработки событий являются невероятные средства экономии времени, не говоря уже о полной свободе, которую Вы будете иметь по расположению, анимации, и т.д. Список продолжается.

Так, мой совет: бросьте долгий, осторожный взгляд на Flex. В конце Вы могли бы найти, что земля переписывает, просто слишком крупное обязательство выровнять по ширине, и это прекрасно - только можно сделать то определение. (И, честно говоря, у Вас есть такая же способность сделать путаницу проекта Flex, как Вы делаете с проектом JavaScript - я знаю. Я сделал это.), Но все сказали, Flex является, вероятно, меньше всего ограничивающим, самым гибким, большая часть многофункциональной и продуктивной опции там прямо сейчас, таким образом, это, конечно, достойно рассмотрения.Удачи!

4
ответ дан 8 December 2019 в 02:41
поделиться

Технология GUI должна быть прежде всего определена Вашей целевой аудиторией. Например, если бы Вы нацелены на englobes пользователей iPhone, я не рекомендовал бы Flex, потому что iPhone не имеет Flash player в данный момент.

Примите во внимание, что, если Вы переключаетесь на абсолютный инструментарий GUI как Silverlight, Ваши пользователи могут найти неестественное L&F, так как обычный цикл ответа запроса не так очевиден с клиентскими платформами.

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

Мое предложение - то, что Вы придерживаетесь JavaScript, так как Ваши devs знакомы с ним и постепенно заменяют старый JavaScript новым инструментарием как прототип, jQuery или любой другой. Вы, вероятно, восстановите часть старого материала быстрее с помощью современного инструментария. Помните, что можно создать красивые приложения с любым tookit.

1
ответ дан 8 December 2019 в 02:41
поделиться

Проверьте эту сравнительную таблицу для Flex и Javascript:

1
ответ дан 8 December 2019 в 02:41
поделиться
Другие вопросы по тегам:

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