Статьи ScriptJava Framework

Discussion in 'Статьи' started by kykyi, 4 Feb 2012.

  1. kykyi

    kykyi Member

    Joined:
    28 Jun 2010
    Messages:
    31
    Likes Received:
    9
    Reputations:
    1
    $$

    ScriptJava Framework


    * работа с элементами
    * работа с ajax
    * динамическая подгрузка скриптов
    * динамическое создание элементов
    * динамическая подгрузка css стилей
    * отправка файлов через ajax
    * отправка формы через ajax
    * работа с cookie
    * работа с событиями
    * работа с браузером, экраном, числами, элементами


    Подробный мануал на русском и описание

    http://scriptjava.net/

    Поддерживает все современные браузеры!
     
    #1 kykyi, 4 Feb 2012
    Last edited: 4 Feb 2012
    1 person likes this.
  2. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Мегастатья получилась, однако. Расскажи-ка, чем этот фреймворк лучше, например, JQuery?
     
  3. Ereee

    Ereee Elder - Старейшина

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Я через форму шелл залил. Лоол!

    P.S. Если ты делал, то молодец =)
     
    #3 Ereee, 4 Feb 2012
    Last edited: 4 Feb 2012
  4. kykyi

    kykyi Member

    Joined:
    28 Jun 2010
    Messages:
    31
    Likes Received:
    9
    Reputations:
    1
    и куда ты залил? по какому адресу?
     
  5. Ereee

    Ereee Elder - Старейшина

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Не стоит все принимать буквально.
     
  6. kykyi

    kykyi Member

    Joined:
    28 Jun 2010
    Messages:
    31
    Likes Received:
    9
    Reputations:
    1
    вот и я о том же - там вроде нет куда загружать...
     
    #6 kykyi, 4 Feb 2012
    Last edited: 4 Feb 2012
  7. kykyi

    kykyi Member

    Joined:
    28 Jun 2010
    Messages:
    31
    Likes Received:
    9
    Reputations:
    1
    Рассказываю:
    История создания:
    Первая версия называлась source-life.js и делалась для своих личных целей.
    Я не люблю jquery , а prototype мне кажется недоделанным.
    В итоге я решил написать свой фреймворк.
    Название было придумано с намеком на игру half-life поклонником которой я являюсь.
    Но вскоре я решил что это будет не просто личный а обще доступный фреймворк и естественно нужно было четкое и понятное название.
    Так появился scriptjava.
    К сожалению я еще не успел его доделать и вы не видите всю его мощь которая задумана изначально.

    Что касается jquery то $('#id') равно в scriptjava $$('id') на этом все сходство заканчивается.

    Описание:
    Сегодня будем представлять паровозики
    Вся суть фреймворка это паровозики :)
    Вначале едет локомотив $$() а за локомотивом тащится любое количество вагонов $$()
    В итоге получается нечто такое:

    $$(локомотив).$$(вагон).$$(вагон).$$(вагон).$$(вагон).$$(вагон).$$(вагон).$$(вагон);

    Поезда можно соединять в один с помощью крепления $$()
    в итоге два поезда будут ехать друг за другом и получится вот так

    $$(локомотив).$$(вагон).$$(вагон).$$().$$(локомотив).$$(вагон).$$(вагон).$$(вагон).$$(вагон).$$(вагон);

    Локомотив может содержать в себе от 0 до 3 пассажиров (параметров)

    Вагоны могут содержать в себе от 0 до 2 пассажиров (параметров)

    С этим разобрались :)

    Теперь ознакомимся с локомотивами
    Их несколько видов и у них нет ничего общего с локомотивом $$():


    $$a()
    $$c()
    $$e()
    $$f()
    $$i()
    $$r()
    $$s()


    Каждый локомотив нужен для чего то своего.
    Рассмотрим все имеющиеся

    Code:
    $$() - получение доступа к элементам
    $$a() - работа с ajax
    $$c() - работа с cookie
    $$e() - работа с событиями
    $$f() - отправка форм через ajax
    $$i() - динамическое подключение скриптов стилей и создание элементов
    $$r() - работа с событием window.onload
    $$s() - набор полезных функций по работе с экраном, мышью, браузером, элементами, числами и т.д. 
    В фреймворке не используются слова
    Есть только одно понятие $$ которое в зависимости от ситуаций делает то или иное.

    Т.е. по сути фрейм ворк это готовые конструкции за которыми нужно идти в документацию

    Документация

    Вся сила фрейм ворка это в захвате элемента и добавлении ему стилей текста и т.д
    А также в работе с ajax.

    Например css можно писать прям в scriptjava - он сам встоится в документ.
    В общем возможностей очень много и боьшая чать еще находится в разработке.

    Сравнивать фреймворк с jquery ну просто не возможно - это как сравнивать квадрат с кругом.
    Как я уже написал основные преимущества фрейм ворка еще в разработке.
    Основная суть - это быстрый доступ к DOM элементам и их модификация (например смена стилей событий и т.д.)

    Чтобы понят что такое scriptjava нужно скачать пример по ссылке

    Скачать пример

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

    Когда распакуете то увидите папку а рядом файл скринсейвера.
    Нужно открыть папку - в ней будут html файлы, ну и по запускать их да посмотреть...
    Либо можно запустить скринсейвер - он написан на scriptjava в связке с Delphi.

    А самый наглядный пример это гостевая книга.
    Надеюсь вы скоро ее увидите.
    Ну и конечно официальный сайт http://scriptjava.net/ - он полностью написан на scriptjava
     
    #7 kykyi, 4 Feb 2012
    Last edited: 4 Feb 2012
  8. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Jquery - это и есть фреймворк. Почему бы не сравнить? Просто напиши, чем твой лучше.
    Выкачивать 85 метров не очень хочется. Может, выложишь простой пример? Т.е. сам js фреймворка твоего + небольшой пример работы.

    У Jquery такая же суть, грубо говоря, конечно ))
     
  9. Melfis

    Melfis Elder - Старейшина

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Всю жизнь мечтал разбираться в коде чужом таких плугов "интуитивно понятном"
    Code:
    $$a({ 
      type:'get',//тип запроса: get,post либо head 
      url:'ajax.php',//url адрес файла обработчика 
      data:{'q':'1'},//параметры запроса 
      response:'text',//тип возвращаемого ответа text либо xml 
      success:function (data) {//возвращаемый результат от сервера содержится в data 
        //$$('id',data); 
      } 
    });
    $.ajax({}); - тоже самое.

    Как дела с кроссбраузерностью, кешированием, гибкостью, расширяемостью по сравнению с жк? Что делать, когда закончатся буквы английского алфавита?

    И собсна главный вопрос, зачем делать паровоз?
    $$getEl('a').$$click(someMethod).$$getEl('div')$$click(someMethod)?
     
    #9 Melfis, 5 Feb 2012
    Last edited: 5 Feb 2012
  10. kykyi

    kykyi Member

    Joined:
    28 Jun 2010
    Messages:
    31
    Likes Received:
    9
    Reputations:
    1
    не могу сравнивать пока не доделал
    тем не менее пример есть гостевой
    http://test.onfind.net/
    ну и вот
    http://vkontakte.onfind.net/
    а вообще получилось очень похоже многое с jquery



    только с виду, внутри все совсем по другому
    многолетний опыт и знания
    в jquery если глянете исходный код, часть не используется, но встроена "так на всякий случай" мало ли кто бочку покатит чтоб можно было сказать - "а у нас все есть")

    работает во всех браузерах включая IE6

    в современных браузерах это уже встроено в сам движок
    многие специалисты рекомендуют не использовать кэширование т.к. в большинстве современных браузерах это лишь только ухудшает ситуацию

    пример кода кэширования
    Code:
    (function() {
      var cache = {}
      window.nodeById = function(id) {
        return cache[id] ? cache[id] : cache[id] = document.getElementById(id);
      }
    })()
    
    пример кэширования из фреймворка prototype от эйпла

    Code:
    // prototype
    function $() {
      var elements = []
    
      for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string')
          element = document.getElementById(element);
    
        if (arguments.length == 1)
          return element;
    
        elements.push(element);
      }
    
      return elements;
    }
    
    теперь смотри пример
    http://www.artlebedev.ru/tools/technogrette/js/lookup-tables/
    если его протестировать в IE6 то да, работает, а в современных браузерах наоборот погоды не играет и тормозит иногда

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


    в процессе разработке, усовершенствования

    посмотрите первую версию jquery
    http://code.jquery.com/jquery-1.0.1.js
    и задайте те же вопросы ему
    http://upload.wikimedia.org/wikipedia/commons/c/cd/Jresig.png
    не важно что он ответит, вы все равно этим пользуетесь не разбираясь, потому что гугл сказал - это лучшее (как и про андройд)

    и еще почему никто не упоминает prototype от apple?
    http://www.prototypejs.org/assets/2007/1/18/prototype.js
    сделан намного профессиональней

    легко запоминается, не требует лишних слов
    ну и мне кажется так логичней и проще
     
    #10 kykyi, 6 Feb 2012
    Last edited: 6 Feb 2012