Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: dojo vs jquery
Форум на CrossPlatform.RU > Разработка > Инструменты разработчика
igor_bogomolov
Решил немного заняться веб разработкой. Интересует разработка красивых динамических веб интерфейсов.
Направьте в нужном направлении, на что лучше ориентироваться dojo или jquery?
igor_bogomolov
Ну что ж, остановился на dojo.
Купил эту книгу, буду разбираться потихоньку.
ViGOur
Извини, что не сразу ответил, так как времени вообще нет. :(
Я использую Dojo, так как на мой взгляд либа более понятна в использовании и удобные доки с примерами.
Хотя многие настоящие веб мастера боготворят jquery, как я понял, что-то на нем проще сделать, а что-то нет.

По всей видимости всё зависит от задач...
igor_bogomolov
У меня тут вопросик возник по dojo. Может тут кто подсказать сможет?
ViGOur
У тебя там относительный путь (относительно открытого в данный момент документа ../ ), попробуй обсалютный (http://crossplatform.ru/dojo/dojo.js) или от корня сайта (начинается с /path/... )
igor_bogomolov
Цитата(ViGOur @ 3.2.2011, 20:36) *
попробуй обсалютный (полный путь)
с абсолютными путями, как я понял, dojo не работает. Т.е. вот так скрипт вообще не видится
<script type="text/javascript" src="d:/Work/DojoToolkit/dojo/dojo/dojo.js">
</script>
Если я делаю так src="../dojo/dojo/dojo.js скрипт находится, я могу просмотреть его в firebug, но модули почему то не подгружаются. Т.е. dojo.require("dojo.i18n"); не находит нужный модуль.
Цитата
Could not load 'dojo.i18n'; last tried './i18n.js'
dojo.i18n is undefined


Цитата(ViGOur @ 3.2.2011, 20:36) *
или от корня сайта (начинается с /path/... )
А это как, не совсем понимаю? Можно пример. Я на локальной машине всё делаю. Что в данном случае path?
igor_bogomolov
ViGOur, допёрло до меня наконец то. dojo.require работает через XMLHttpRequest. Его реализация в разных браузерех по видимости отличается. Например в Firefox вот такая структура проекта работает нормально
DojoProjects/
    |---Project/
    |    |---dojo/
    |    |---scripts/
    |    |---index.html
В гуглохроме уже нет. И он вполне понятно объяснил почему (в отличае от firebug в firefox).
Цитата
XMLHttpRequest cannot load file:///home/igor_bogomolov/project/dojo/dojo/dojo/_firebug/firebug.js. Cross origin requests are only supported for HTTP.
dojo/dojo/dojo.js:14Uncaught Error: Could not load 'dojo._firebug.firebug'; last tried './_firebug/firebug.js'


Поднял веб сервер. Всё заработало как надо, при любой структуре проектов. Вот только меня это опять не устраивает. Неужели нет возможности использовать dojo без веб сервера?

Я хочу написать расширение для браузеров. В нем предполагается красивый интерактивный веб интерфейс. Естественно у пользователя никакого веб сервера не предполагается. Должно все работать просто из файловой системы. Сейчас получается что для firefox такое организовать можно, из-за его особенностей. Для google chrome уже нет.

Правильно ли я вообще всё понял?
igor_bogomolov
Разобрался. Всё оказывается возможно. Если скачать исходники dojo (архив с суффиксом -src), внутри можно найти директорию с утилитами для тестирования и подготовки приложения к эксплуатации (сборки по простому). Так вот эти инструменты сборки позволяют легко объединить несколько модулей в один js файл, который называется слоем, и который можно подключить в заголовке страницы стандартным способом, а не через dojo.require. Т.о. необходимый функционал dojo будет находиться в одном файле и загружен синхронно вместе с запрошенной страницей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.