Я создал аккуратный маленький инструмент под названием pry.js , который может вам помочь.
Поместите простую инструкцию где-нибудь в свой код, запустите свой скрипт нормально и узел остановится текущий поток дает вам доступ ко всем вашим переменным и функциям. Просматривать / редактировать / удалять их по желанию!
pry = require('pryjs')
class FizzBuzz
run: ->
for i in [1..100]
output = ''
eval(pry.it) # magic
output += "Fizz" if i % 3 is 0
output += "Buzz" if i % 5 is 0
console.log output || i
bar: ->
10
fizz = new FizzBuzz()
fizz.run()
Почему веб-приложения распространяются для внутренних корпоративных приложений?
, главным образом, поскольку централизованная модель развертывания веб-приложения решила кошмар развертывания старого клиента приложений (машины, доступные библиотеки, драйверы и т. Д. ). Я видел компании, где, когда они были сделаны с развертыванием, последняя установлена машина уже две версии впереди первой. С браузером на стороне клиента (то есть кроссплатформенная среда выполнения) и централизованное развертывание, вы просто уничтожите эти проблемы. Добро пожаловать в тонкий клиент ERA.
Теперь я не убежден, что настольное приложение обычно дешевле (я не знаю, если развитие дешевле, но я уверен, что обслуживание, поддержка, ... не).
Я, однако, согласен, что настольные приложения, как правило, более богатые. Независимо от того, что люди будут претендовать, это не было , не было , утверждаемым до появления AJAX и это все еще применяется в некоторых конкретных областях, где браузер просто не подходит, с или без AJAX (спросить Торговец использовать браузер, и вы увидите). Некоторые люди не не нуждаются в парадигме расхода страницы, некоторые люди делают , нуждаются в современных виджетах (например, компонент сетки с расширенными фильтрацией, группировкой, Excel, как функции, такие как основные формулы и т. Д.), Низкая задержка или в режиме реального времени и т. д. То есть вещи, которые богатые интернет-приложения - или RIA - на самом деле не сделано и поэтому не правильный инструмент для выбора!
И я тоже согласен, что технологии, такие как Java Webstart или Microsoft ClickOnce, играют решают старую проблему развертывания и позволяют разработать так называемые богатые настольные приложения - или RDA - (Rich Desktop ui на клиенте, бизнес на сервере, стандартный протокол Между ними и централизованное развертывание, так что еще в тонкий клиент ), который, кажется, отличный компромисс (лучший пользовательский опыт, но без головной боли).
Так почему люди систематически опускают вариант RDA? Ну, я верю, что:
Так что это наше (мы, ИТ-профессионалы) неисправности :)
Большинство приложений «корпоративного» типа не очень выиграют от локальности. Как правило, им не нужно ускоренное видео и т. Д. В основном это просмотр и ввод данных. На самом деле точки легкого развертывания, централизованного управления и т. Д. Делают все возможное, чтобы перевесить все преимущества локального настольного приложения.
В моем опыте он был в первую очередь для простоты распространения. Я работал над упаковкой, логистикой распределения и отдельных систем отладки приложения Sizable Win32, необходимое для доставки тысячам людей в нескольких местах. Слово головная боль не делает справедливость опыта.
После этого я создал WebApp для одной компании. Это также использовалось тысячами людей. Как только мы закончим разработку и тестирование приложения, весь процесс распределения состоял из 1) развертывания для PROD и 2) Отправка URL для всех. Намного проще дать каждому доступу к веб-приложению и минуту добыча проблем поддержки.
Я согласен, что веб-приложения не быстрее для разработки - если у вас нет более одной ОС для поддержки или соединения базы данных, которое применяется к в основном все, что я делаю.
Программы создания документов (включая графические программы), явно более подходящие для рабочего стола, несмотря на то, какие документы Google будут думать. Вы бы не хотели бы, чтобы звуковой или видео редактор запущен удаленно. Но тем менее личная работа - тем более совместное (корпоративное) - тем больше WebApps имеет смысл.
**** Отредактируйте ****
Давайте рассмотрим ваш ответ 1) Стоимость - настольные приложения просто упрощаются, потому что у вас есть полные ресурсы локальной машины, и у вас есть государство. В результате настольные приложения должны быть намного дешевле для развития одной и той же функциональности. Просто посмотрите на все сложные клиентские боковые / серверные посторонние AJAX Fancy Code, нужно пройти делать вещи, которые будут тривиальными в приложении на рабочем столе. Я изображаю людей, оспаривающих эту точку зрения, но мне это очевидно и вне дебаты.
Ваш не учитывает затраты и обслуживание внедрения. Настольные приложения необходимо поддерживать на каждой машине, на которой она установлена. В большинстве случаев это требует конфигурации на каждой системе. Доллары быстро поднимаются.
При веб-приложениях приложение представляет собой браузер. Каждая машина легко настроен с браузером, который поддерживается с более низкой стоимостью.
2) Настольные приложения, как правило, более богатые. Веб-приложения находятся в лучшем случае сопоставимы за счет более сложных / дороже для разработки кода. (Утверждается до 1)
Я не могу согласиться, что настольные приложения, как правило, более богатые. С помощью Newier Technologies Web Apps могут содержать богатый пользовательский интерфейс и особенности, с минимальными затратами на разработку.
Веб-приложения преобладают по многим причинам:
в теории языка программирования (и в теории вычислимости) , в то время как и для петлей имеют различные теоретические свойства :
Присутствующая на присутствии цикла в C, не считается техническим количеством циклов для цикла, потому что вы не обязательно знаете, сколько раз петли будет повторять петлю перед его выполнением. (то есть. Вы можете взломать счетчик петли, чтобы запустить навсегда)
Класс проблем, с которыми вы можете решить, когда петли строго более сильнее, чем они могли бы решить со строгим для цикла, найденного в Pascal.
Pascal разработан таким образом, чтобы студенты имели два разных контура с разными вычислительными свойствами . (Если вы реализованы для C-Way, цикл для цикла только будет альтернативным синтаксисом для ...)
В строго теоретических терминах вам больше никогда не нужно изменять счетчик в цикле. Если бы вы могли уйти с ним, вы бы просто имели альтернативный синтаксис для цикла в то время как.
Вы можете узнать больше о «во время вычислимости петли» и «для вычислимости петли» в этих лекциях CS: http://www-compsci.swan.ac.uk/~csjvt/jvtteaching/tpl. HTML
Еще одно такое свойство, кстати, заключается в том, что LOOPRATIMATE не определена после цикла для цикла. Это также облегчает оптимизацию
-121--3765825-Это также позволяет более легкую масштабируемость и надежность к приложению. Поместив его на резервное копирование сервера (возможно, в кластере), вы разрешаете один источник развертываний (@Gabriel), и у вас меньше беспокоиться на пути обслуживания системы. Вам не нужно беспокоиться о том, что ПК Мэри вниз по зале слишком медленно, чтобы запустить приложение. Это также уменьшает требования доступа / безопасности к источникам данных. С новым MVC, N-уровнем разработки веб-сайтов и т. Д., Доступ к данным выделяется на единственном слой, а не на беспокойство с каждым Томом / Диком / Гарри, имеющим доступ к ней.
Независимость от платформы / браузера очень некорректна для ответа на вопрос.
Во многих ответах не упоминалось, что множество организаций будут создавать и использовать веб-приложения, ориентированные на определенную версию определенного браузера. Проще разработать что-то, что работает и правильно выглядит только в 1 браузере. Пример: IE5, IE7 и т. Д.
Я вижу это повсюду, поэтому утверждение, что веб-приложения могут работать на любой платформе / браузере в среде интрасети, во многих случаях неверно, поскольку внутренние веб-приложения обычно используются только внутри компании и, следовательно, внутренняя политика компании обычно стандартизирована для определенной платформы и браузера.
По этой причине разработчики будут писать и тестировать свои веб-приложения только для определенного браузера / платформы.
Я думаю, что этот комментарий опровергает любые приведенные выше комментарии, объясняющие, почему веб-приложения используются в корпоративных интрасетях.