singlepost

AJAX фреймворки << На главную или назад  

AJAX фреймворки:
> jQuery (//jquery.com, используют: //www.legco.net/entry-172.php)
> Prototype (//prototypejs.org)
> YUI (Yahoo User Interface, //developer.yahoo.com/yui)

Сделайте шаг навстречу Веб 2.0 уже сегодня!

19 ответов в теме “AJAX фреймворки”

  1. 19
    Станислав Борисов ответил:

    а я для использования аякса и написал свои 3кб кода… вот пользуюсь :) уже пол года как :)

  2. 18
    Александр Железновский ответил:

    у меня 3 файла. Первый с формой,второй с ява-скриптом—технологией аякс, второй файл подключается к первом, который с формой. 3-й файл—пхп, он должен реагировать на запросы и передавать значения в первый файл. вот коды трех файлов

    1-й index.php
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "//www.w3.org/TR/html1/DTD/xhtml1-transitional.dtd">
    <html xmlns="//www.w3.org/1999/xhtml">

    <head>
    <title>Untitled Document</title>

    <script type="text/javasсript" src="quickstart.js"> </script>
    </head>

    <body onLoad='process()'>
    сервер желает узнать ваше имя
    <input type="text" id="myName" />
    <div id="divMessage"/>

    </body>
    </html>

    2-й quickstart.js
    var xmlHttp= createXmlHttpRequestObject();

    function createXmlHttpRequestObject()
    {
    var xmlHttp;
    if(window.ActiveXObject)
    {
    try
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e)
    {
    xmlHttp=false;
    }
    }
    else
    {
    try
    {
    xmlHttp=new XMLHttpRequest();
    }
    catch(e)
    {
    xmlHttp=false;
    }
    }
    if (!xmlHttp) alert ("ошибка создания объекта рекуэст");
    else
    return xmlHttp;
    }

    function process()
    {
    if (xmlHttp.readyState==4 || xmlHttp.readyState==0)
    {
    name=encodeURIComponent(document.getElementById("myName").value);
    xmlHttp.open("GET","quickstart.php?name=" +name,true);
    xmlHttp.onreadystatechange=handleServerResponse;
    xmlHttp.send(null);
    }
    else
    setTimeout('process()',1000);
    }
    function handleServerResponse()
    {
    if (xmlHttp.readyState==4)
    {
    if (xmlHttp.status==200)
    {
    xmlResponse=xmlHttp.responseXML;
    xmlDocumentElement=xmlResponse.documentElement;
    helloMessage=xmlDocumentElement.firstChild.data;
    document.getElementById("divMessage").innerHTML='<i>'+helloMessage+ '</i>';
    setTimeout('process()',1000);

    }
    else
    {
    alert("проблемы с сервером" + xmlHttp.statusText);
    }
    }
    }
    3-й quickstart.php
    <?php
    header('Content-Type: text/xml');
    echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
    echo '<response>';
    $name=$_GET['name'];
    $userName=array('CRISTIAN','BOGDAN','FILIP','YODA');
    if (in_array(strtoupper($name),$userName))
    echo 'привет мастер'.htmlentities($name).'!';
    else if (trim($name)=='')
    echo 'скажи как тебя зовут';
    else
    echo htmlentities ($name).'мы не знакомы';
    echo '</response>';

    ?>

    результат : форма отражается в браузере, ошибок не вылетает, но запрос к пхп скрипту не проходит,значения никакия не возвращаются в index.php

  3. 17
    Dmitry Soshnikov ответил:

    > "Все пропало. Помогите!!! АДЖАКС хе…ов ну его в жо…у" – вот это глас народа переводящийся как "дайте мне спецификацию".

    вот это глас даже и не кодера, не то что не программиста =)

  4. 16
    Антон Данильченко ответил:

    :-)
    Обычно до спецификации люди доходят, когда уж много наделали КАКИ, поэтому о спецификации можно говорить когда создадут тему "Все пропало. Помогите!!! АДЖАКС хе…ов ну его в жо…у" – вот это глас народа переводящийся как "дайте мне спецификацию".

  5. 15
    Dmitry Soshnikov ответил:

    > советую начать использовать отличный инструментарий для верстки и создания AJAX приложений. Средство называется

    средство называется – "спецификация"

  6. 14
    Dmitry Soshnikov ответил:

    > даже не изучал, я скачал ббиблиотеку

    эх.. вот так и везде сегодня =)

    P.S.: главное – не увязнуть в копипастном кодерстве.

  7. 13
    Антон Данильченко ответил:

    Ребята, советую начать использовать отличный инструментарий для верстки и создания AJAX приложений. Средство называется Aptana и легко находится через поисковик. Используйте бесплатную версию, она полнофункциональная и удобная.

  8. 12
    DELETED DELETED ответил:

    я AJAX фактически даже не изучал, я скачал ббиблиотеку Котерова и мануал по ней прочитал :)

    //dklab.ru/lib/JsHttpRequest/

  9. 11
    Игорь Сазонов ответил:

    крутая библиотека, но все-таки я фанат jQuery и тем более он весит всего 30кб..

  10. 10
    Александр Боровиков ответил:

    Интересно, откуда люди берут размер библиотеки как 7 метров? В архив-то заглядывали? Документация и примеры использования, сама библиотека (и ядро, и AJAX, и все виджеты и интерфейсы тут), библиотека сжатая (не все модули, но немалое их число), версия библиотеки для отладки, все изображения, стили и все причитающееся для интерфейсов (в т.ч. те, которые подразумевают дальнейшее изменение и втачивание под дизайн сайта/системы, где будет использоваться тот или иной виджет)… И где тут 7 метров одной библиотеки?

    Да, Яху громоздка и не самая быстрая, но и не настолько велика…

  11. 9
    Антон Данильченко ответил:

    Совершенно согласен Анатолий! Не зря компания Майкрософт получает большую прибыль не за счет качественного продукта, а за счет правильной продуманной рекламы/маркетинга.

    Итак. Я предлагаю зайти на сайт библиотеки, посомтреть обзор готовых решений. Вот, например, я нашел то что искал – раскрывающееся меню созданное с помошью JavaSсript. Что это позволяет сделать? Например, у вас есть раскрывающийся список шириной 100 пикселей. Вам нужно, чтобы при его раскрытии пользователь видел полностью те строки, которые шириной более 100 пикселей. Эта задача была решена.

  12. 8
    DELETED DELETED ответил:

    просто не совподает заголовок"AJAX изучаем вместе!" который у меня ассоциируется почему то с "по существу надо сделать фоновый запрос и все" … а не с бибиотекой в 7 метров =(

    ты хоть расскажи что может, дай пару примеров =) главное ведь реклама! как распишешь все ее возможности так люди и потянутся … может быть

  13. 7
    Антон Данильченко ответил:

    Анатолий taliban Кобзарь, создай пожалуйста тему по легковесным фреймворкам. Уверен, что на примерах простого кода многие посетители темы смогут определиться с выбором. Я не противник нового, тем более легковесного инструментария.

  14. 6
    DELETED DELETED ответил:

    //developer.yahoo.com/yui/
    Антон Данильченко: ты уж извени, но помоему библиотека на JS весом в 7 метров это не то что бы плохо, это просто пи#$%ц как ужасно, причем она не делает в принципе ничего что не может прототайап + скриптакулос + жквери + еффектс да и весит порядком больше чем эти все библиотеки вместе взятые … я такое трактороподобное убожество никогда не видел … там так дофига всякой фигни которая вообще не нужна …

    зы: я тебе скажу по секрету зачем изначально придумали фреймворки на JS – чтоб увеличить скорость разработки написанием меньшего года имеющим большие возможности …
    пример из прототайпа:
    var $element = document.getElementById('someId');
    $element.innerHTML = "hello, now i`m showing!!!";
    $element.style.width = '100px';
    $element.style.height = '30px';
    $element.align = 'center';
    $element.style.display = '';

    вместо этого фреймворк позволяет сделать так:
    $('someId').update('hello, now i`m showing!!!').setStyle({width:'100px', height: '30px'}).show().align = 'center';

    правда удобно?

    но когда пишут так:
    YAHOO.util.Dom.(тут еще методы)
    не спорю, исходя из класски ооп это правильно и удобно, но JS не создан чтоб на нем писать сайты, это второстипенный язык, он лишь помогает сделать UI красивей и удобней, а аякс избавляет канал от лишнего хтмл да и пользователя от ненужного ожидания …

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

  15. 5
    DELETED DELETED ответил:

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

    зы: ссылка та что ты в первом посте вылажил не работает =) рабочую ссылку в студию, хочу посмотреть как у него реализован запрос!

  16. 4
    Антон Данильченко ответил:

    Я скажу так – главный ресурс – ВРЕМЯ.
    Для экономии своего времени и своевременной сдачи проекта требуется делать быстро и качественно. Писать с нуля быстро и качественно не получится.

    Это мое видение.

  17. 3
    DELETED DELETED ответил:

    ну почему ты так уверен что жквери и прототайп криво написаны? не знаю как насчет жквери, но прототайп – набор методов которыми дополнили существующие встроенные обьекты + немножечко своего …
    почему ты считаешь что код
    String.prototype.empty = function()
    {
    return this == '';
    }
    корявый? что в нем не так?

    зы: почтиай название обсуждения … я тоько поэтому возразил против библиотеки :) вобще они помогают иногда

  18. 2
    Dmitry Soshnikov ответил:

    Анатолий taliban Кобзарь: если подойти совсем глобально, то Prototype.js и jQuery можно тоже на помойку выкинуть =) это тоже те еще громоздкие, криво написанные, "тяжелые топоры" )

  19. 1
    DELETED DELETED ответил:

    у меня вопрос: а нафига вобще нужна эта громоздкая библиотека, когда полноценный фреймворк (совместимый с prototype и jQuery) занимает 3 кила? тебе ведь по существу надо сделать фоновый запрос и все =)

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