Новости LibCanvas

    Где-то полгода назад я выкладывал несколько топиков про LibCanvas. Потом было затишье на Хабре, но не в репозитории. Работа активно продвигалась и библиотека обрела новые силы, возможности и базовую документацию.

    Топик будет относительно короткий. На самом деле это просто вступление для серии статей про LibCanvas.

    Отказ от MooTools


    Итак, основная новость — это отказ от MooTools и переход на AtomJS. Это решение было принято по нескольким причинам:
    1. Не использовать глобальное пространство, в частности $-функцию, которая часто конфликтует с jQuery
    2. Отказ от поддержки IE < 9. LibCanvas использует самые передовые технологии и использовать фреймворк, который поддерживает браузер десятилетней давности — это тормозить свой прогресс. Также это позволяет значительно сократить объем кода, т.к. не приходится реализовывать кучу встроенных методов, как forEach и indexOf
    3. Свобода оптимизаций. Кое-какие участки можно было бы ускорить, но узкое место находится в базовом фреймворке.

    Переход на GitHub


    Изначально проект хостился на Google Code. История коммитов и все разработки были перемещены на GitHub. Мне Bonch дважды советовал это и я рад, что он убедил меня. Просто открыл репозиторий я давно, но окончательно переехал туда значительно позже. Всем рекомендую.

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


    Также, на GitHub теперь лежит документация на русском языке. Конечно, она далеко не полностью покрывает все возможности библиотеки (% 25), но это лучше, чем ничего и она активно совершенствуется. Кто захочет помочь с переводом на английский — буду рад, но желательно поддерживать её в активном состоянии.

    Сборщик


    Теперь я использую тот же сборщик, который собирает MooTools. Спасибо slik, Packager очень удобен.

    Примеры


    Все примеры теперь лежат на libcanvas.github.com и исходники приведены в максимально читабельный вид. Теперь каждый пример — небольшое руководство к действиям, в которое каждый может вложить свой вклад. В итоге я также восстановлю официальный сайт libcanvas.com, но на данный момент GitHub полностью покрывает все потребности

    Планы на развитие


    Недавно проекту исполнился год. Если я за год его не бросил, значит это серьезно) Принимаются фич-реквесты и баги.
    Всех желающих приглашаю в Jabber-конференцию libcanvas@conference.jabber.ru, с удовольствием буду консультировать и помогать. Буду рад что коммитерам, что просто пользователям.

    Это только начало, ждите интересных статей и приложений.

    ps. Вступаем в блог Canvas
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 22

      0
      >>Отказ от поддержки IE
      Сейчас в меня полетят помидоры, но выскажусь в его защиту. 9 умеет и indexOf и forEach. К тому же до сих пор единственный браузер использующий по дефолту на всю катушку аппаратное ускорение.

      p.s. FF4 его тоже использует но получается у него хуже.
        +2
        Я просто неправильно выразился. Имелся ввиду IE<9
          0
          Тогда ок. А через что был реализован Canvas для них? Через VML или Flash?
            0
            Я отказался от ie < 9. В ie9+ есть Canvas.
              0
              Я про ие6-8. Раз отказались — значит раньше был? Вот и интересно через что был реализован.
                +2
                Я оставлял задел для его реализации. Думал, вдруг подключу VML или Flash. Более детальное изучение данного вопроса показало, что не имеет смысла и потому я «сжег мосты» — перешел на Атом, где нету хаков для IE, используются аксессоры, и остальные вещи, которые не поддерживаются IE8-.
                Короче, если раньше «поддержка теоретически могла быть», то сейчас «точно не будет».
        –1
        это как-то моветон использовать для pure-js либы сборшик на php.
        Есть же аналоги на ноде.
          0
          Мне понравился его интерфейс.
            0
            Кстати, CSSO будет кошернее и умеет больше :)
              0
              Chief State Solicitor's Office?
                0
                Хотя, вот есть: github.com/afelix/csso но ведь там только CSS
                  0
                  И правда, я не знаю почему, но у меня было полное ощущение, что вы ищете CSS-упаковщик.
            0
            Я очень сильно колеблюсь между выбором Вашего фрэймворка и jCanvasLib (кажется так его название, поправьте если ошибся), который так же анонсировался тут.
            Мне нужно делать много прорисовок сложных (составных) объектов с канвасе. Эх-х… как всегда эти муки выбора! Сравнить пока затрудняюсь пока не посмотрю ваши новые изменения. А про отказ от поддержки старых браузеров поддерживаю Вас, я тоже так считаю
              +1
              jCanvaScript от asavin. Мы с ним решили, что LibCanvas и jCanvaScript для проектов разных уровней)). jCanvaScript — для маленьких проектиков (типа тех, которые в доках), LibCanvas — для крупных. Одни и те же вещи на jCanvaScript делаются куда изящеее, чем на LibCanvas.
              Покажу пример, который мы обсуждали в личке — базовая анимация.

              На jCanvaScript:
              js('canvas')
              	.circle(150, 75, 75, '#900', '#f00')
              	.animate({
              		radius: 75,
              		fill  : '#090',
              		stroke: '#0f0'
              	}, 2000)
              


              На LibCanvas она выглядела бы не так изящно:
              var libcanvas = new LibCanvas('canvas').start();
              
              var shaper = libcanvas
              	.createShaper({
              		shape : new Circle(150, 75, 15),
              		fill  : '#900',
              		stroke: '#f00'
              	});
              
              shaper.animate({
              	props: {
              		radius: 75,
              		fill  : '#090',
              		stroke: '#0f0'
              	},
              	time: 2000
              });
              


              Но я специально пошёл по такому пути (была даже мысль в шутку сделать обертку над ЛибКанвас, lc-lite, которая бы копировала интерфейс jCanvaScript). В итоге, когда все эти шейпы применять к реальным объектам — с jCanvaScript становится очень сложно и программист не может выйти за пределы примеров.

              К примеру, я на LibCanvas делал игры разных жанров, графические редакторы (векторный и растровый), и т.д.

              В общем, посмотрите примеры в доке jCanvaScript. Если вам этого хватит — используйте его смело. Если нет, то ваш выбор — LibCanvas.

              Кастую в тред Асавина, ещё интересно его мнение)
                0
                По поводу jCanvaScript — присмотритесь к работе с layer и к функции addObject. Работу с буфером я пока еще не добавил, но она ожидается.

                Не согласен с TheShock, что «программист не может выйти за пределы примеров», тут он погорячился, но рациональное зерно в его словах есть. jCanvaScript — проще, LibCanvas — более гибкая. Думайте сами, решайте сами… (с)
                +1
                И еще: документация. К сожалению разработчики часто ставят документацию в конец листа приоритетов, а ведь для всех нас, кто будет использовать Вашу либо, документация — это первичный критерий оценки (не)пригодности библиотеки. Мы зачастую смотрим сперва на API и пытаемся понять реализуется ли то что там надо, ведь на все случаи жизни демок не упасёшься. И к сожалению, оба проекта недостаточно покрыты документацией.
                Понимаю, что на все времени не упастись и очень надеюсь что Вы уделите документации должное внимание.
                Спасибо!
                  +1
                  Я согласен. Тяжело писать документацию ни для кого)) Но она в процессе, это один из самых важных приоритетов у нас сейчас.
                    +1
                    Но я покрываю этот недостаток активной консультацией всех желающих)
                      0
                      Понимаю что вероятно я буду вторить КЭПу, но можеть быть есть возможность собрать все эти (часто)спрашиваемые вопросы и опубликовать для удобства остальных пользователей?
                        0
                        Согласен.
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      Зависит от приложения. Естественно, в целом, пока Канвас чуть медленее, чем флеш.
                      Но для многих вещей скорость вполне приемлимая. Зависит от приложения, короче)

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

                    Самое читаемое