Сведения о вопросе

FUTER

19:20, 1st August, 2020

Теги

Создание автономных приложений в JavaScript

Просмотров: 449   Ответов: 14

С увеличением мощности фреймворков JavaScript, таких как YUI, JQuery и Prototype, а также инструментов отладки, таких как Firebug, создание приложения полностью на стороне браузера JavaScript выглядит как отличный способ сделать простые приложения, такие как головоломки и специализированные калькуляторы.

Есть ли у этого какой-то недостаток, кроме раскрытия вашего исходного кода? Как вы должны обращаться с хранилищем данных для такого рода программ?

Правка: да, Gears и cookies можно использовать для локального хранения, но вы не можете легко получить доступ к файлам и другим объектам, которые уже есть у пользователя. Вы также не можете сохранить данные в файл для пользователя без того, чтобы они не вызывали некоторые функции браузера, такие как печать в PDF или сохранение страницы в виде файла.



  Сведения об ответе

PAGE

21:06, 1st October, 2020

Я написал несколько приложений в JS, включая электронную таблицу.

Вверх:

  • великий язык
  • короткий цикл code-run-review
  • Манипуляция DOM отлично подходит для дизайна UI
  • клиенты на каждом компьютере (и телефоне)

Нижняя сторона:

  • различия между браузерами (особенно IE)
  • масштабируемость кодовой базы (без встроенной поддержки пространств имен и классов)
  • нет хороших отладчиков (особенно, опять же, для IE)
  • производительность (даже несмотря на большой прогресс, достигнутый с FireFox и Safari)
  • Вам также нужно написать некоторый код сервера.

Итог: идите на это. Я сделал.


  Сведения об ответе

KOMP

17:41, 4th August, 2020

Еще один вариант для разработки простых настольных приложений или игр в JavaScript - это Adobe AIR . Вы можете построить код приложения либо в формате HTML + JavaScript, либо с помощью Flash/Flex, либо в сочетании обоих вариантов. Он имеет то преимущество, что является кросс-платформенным (на самом деле кросс-платформенным, Linux, OS X и Windows. Не только Windows и OS X).

Черт возьми, это может быть единственный раз в вашей карьере разработчика, когда вы можете написать веб-страницу и браузер ONLY target ONE.


  Сведения об ответе

dumai

03:08, 26th August, 2020

SproutCore -это полностью JavaScript-размещенная платформа приложений, заимствующая концепции, в частности, из Cocoa (например, KVO) и Ruby на Rails (например, использование генератора CLI для ваших моделей, представлений и контроллеров). Он включает в себя прототип, но строит множество вещей, таких как сложные элементы управления поверх этого. Его демонстрация фотографий , возможно, впечатляет (особенно в Safari 3.1).

Грег уже указал вам на шестеренки; кроме того, HTML 5 будет поставляться со стандартизированным средством локального хранения. Safari 3.1 поставляется с реализацией, где у вас есть база данных SQLite для каждого сайта с настраиваемыми максимумами размера, а также встроенный браузер баз данных с запросом SQL . К сожалению, это будет долгое время, пока мы не сможем рассчитывать на широкую поддержку браузера. До тех пор Gears действительно является альтернативой (но не для Safari... пока! ). Для более простого хранения, конечно, всегда есть куки.


  Сведения об ответе

SSESION

07:51, 29th August, 2020

Недостатком этого было бы то, что вы находитесь во власти того, что они включили js. Я не уверен, что сейчас это имеет большое значение. Практически каждый браузер поддерживает js и имеет его включенным по умолчанию.

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

Я никогда не использовал шестеренки, но, похоже, это стоит попробовать. План резервного копирования состоял бы в том, чтобы запустить какой-то сценарий на стороне сервера через ajax, который сбрасывает ваши данные куда-то.

Не совсем клиентская сторона, но ладно.


  Сведения об ответе

LIZA

23:55, 13th August, 2020

Nihilogic (не мой сайт) делает много вещей с Javascript. У них даже есть несколько игр , которые они сделали в Javascript.

Я также видел аккуратный рогалик игра в Javascript. К сожалению, я не помню, как он назывался...


  Сведения об ответе

ЯЯ__4

00:11, 12th August, 2020

Если вы хотите написать автономное приложение JavaScript, посмотрите на XULrunner . Это то, на чем построен Firefox, но он также построен так, что вы можете распространять его как среду выполнения приложения. Вы напишете часть интерфейса в JavaScript и будете использовать JavaScript для своего кода.


  Сведения об ответе

DAAA

21:45, 7th August, 2020

В отношении сохранения файлов из приложения javascript:

Я действительно взволнован возможностями клиентских приложений. Flash 10 появилась возможность создавать файлы для сохранения прямо в браузере. Я подумал, что это было очень круто, поэтому я построил компонент javascript+flash, чтобы обернуть функцию сохранения. Сейчас он работает только для создания текстовых файлов (vcard, ical, xml, html, css и т. д.)

  1. Скачать Домашнюю Страницу
  2. Исходный код & документация по Github
  3. Смотрите его в использовании на стартере для jQuery

Я ищу, чтобы добавить поддержку для нетекстовых файлов в ближайшее время, но это только начало.


  Сведения об ответе

SILA

02:53, 5th August, 2020

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

Я делал простые приложения, подобные этому, для таких вещей, как решатель судоку .


  Сведения об ответе

LAST

12:40, 13th August, 2020

Вы можете столкнуться с проблемами производительности, учитывая, что вы полностью находитесь во власти интерпретатора Javascript клиента. Gears был бы хорошим способом хранения данных, но я не думаю, что он так уж сильно проник на рынок. Вы можете просто использовать файлы cookie, если вы не суетитесь по этому поводу.


  Сведения об ответе

SILA

21:06, 1st October, 2020

Самостоятельные игры в GWT:

  1. http://gpokr.com/
  2. http://kdice.com/


  Сведения об ответе

SILA

15:33, 16th August, 2020

Я здесь с ScottKoon, Adobe AIR-это здорово. Я действительно сделал только один очень хороший виджет (imho) до сих пор, но я сделал это с помощью jQuery и Prototype.js, которые были такими замечательными способами, потому что мне не нужно было изучать совершенно новую модель событий. Adobe AIR-это действительно мило, отпечаток ноги памяти не так уж плох, обновление до новой версии встроено в AIR, так что это почти автоматически, и лучше всего это кросс-platform...they даже есть альфа-версия для Linux, но она уже довольно хорошо работает на моем Eee.


  Сведения об ответе

PHPH

13:55, 26th August, 2020

Иди с Кук-ду. Они недавно реализовали 1.0, хотя большинство пользователей говорят, что он созрел для 1.0 по крайней мере две версии назад.

Я сравнил qooxdoo с YUI и ext, и я думаю, что qooxdoo - это путь для программистов-YUI не так отполирован, как qooxdoo, с точки зрения программиста, и ext имеет не столь дружественную модель лицензирования.

Некоторые из сильных сторон (для меня) qooxdoo являются:

  • очень чистый код
  • самая красивая модель программирования OO, которую я видел среди Javascript фреймворков
  • чрезвычайно богатая библиотека виджетов UI

Он также включает в себя тестовый раннер для модульных тестов, генератор и считыватель API doc, средство ведения журнала и несколько полезных функций для отладки, сгруппированных под названием инспектор.

Единственным недостатком является то, что для qooxdoo нет готовых тем (что-то вроде скинов). Но создать свою собственную тему довольно легко.


  Сведения об ответе

#hash

22:40, 6th August, 2020

Мои RSS каналы сослужили мне хорошую службу - я нашел, что Javascript roguelike!

Он называется гробницы Аскирота .


  Сведения об ответе

ITSME

02:14, 20th August, 2020

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

Преимущество хранения его на вашем сервере в два раза больше:

  1. Вы можете довольно просто интегрировать его как слой модели в типичный фреймворк MVC, и,
  2. Пользователи получают согласованное представление без привязки к их browser/PC, или в среде less-than-ideal (интернет-кафе).

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться