• Взаимодействие между web-приложениями через Web Intents

    • Перевод
    Прим.: Обычно не занимаюсь переводами, но новость проскочила интересная.

    В сегодняшней браузерной экосистеме веб-приложения полностью изолированы друг от друга, и для того, чтобы, к примеру, отправить комментарий в твиттер через сторонний сервис со своего сайта, необходимо использование сложных (Прим.: ну я бы просто сказал «разнообразных») API. А что если бы мы могли дать сайтам возможность использовать подобные сервисы не зная, какой конкретно сервис мы будем использовать, а зная лишь о том, что он предоставляет некий функционал.

    В Android OS эта проблема решается при помощи Intents[1] — архитектуры, позволяющей взаимодействовать компонентам одного или нескольких различных приложений. По этой схеме, клиенсткое приложение создает запрос (к примеру, разослать что-нибудь) и задает параметры, которые будут переданы другому приложению-сервису. После этого пользователю предоставляется список приложений, которые регистрировали свою возможность обрабатывать данный тип intent-запроса. Затем выбранное пользователем приложение запускается в новом контексте, и ему передаются параметры, переданные клиентом в некоем, заранее определенном для конкретного типа intent, формате.

    На данный момент мы прилагаем большие усилия для создания аналогичной системы для шеЬ: Web Intents. Эта система предоставит те же удобства, что и Intents для Android, но будет адаптирована для web-приложений.

    Читать дальше →
  • Appcelerator покупает Aptana

      Компания Appcelerator, известная своим продуктом Appcelerator Titanium, приобрела компанию Aptana, которая разрабатывает Aptana Studio, IDE построенную на базе Eclipse, веб-сервер Jaxer, а также предоставляет услуги облачного хостинга.

      На данный момент, известно следующее :

      Читать дальше →
    • Синхронизация асинхронных вызовов. WaitSync

        Задача


        Допустим вы хотите выполнить два или более AJAX запроса на сервер и вызвать функцию после того, как все они будут закончены.

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

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

        Собственно, этим и занимается мой небольшой класс WaitSync =)

        WaitSync.js


        Пользоваться элементарно просто:

        1. Создаем объект типа WaitSync, передав в конструктор callback функцию, которая будет вызвана после того, как отработают нужные задачи.
        	var vulture = new WaitSync(function () {
        		console.debug('Start eating: ', arguments);
        	});
        


        2. Вместо простого
        	$.getJSON(
        		'savannah/get_prey', 
        		function (data) {
        			console.log('... prey found: ' + data);
        		}
        	);
        	
        	$.getJSON(
        		'savannah/get_other_predators', 
        		function () {
        			console.log('... predators are done eating');
        		}
        	);
        


        «заворачиваем» задачи в метод .wrap
        	$.getJSON(
        		'savannah/get_prey', 
        		vulture.wrap( 
        			function (data) {
        				console.log('... prey found: ' + data);
        			}
        		)
        	);
        	
        	$.getJSON(
        		'savannah/get_other_predators', 
        		vulture.wrap(
        			function () {
        				console.log('... predators are done eating');
        			}
        		)
        	);
        


        3. Все =) Как только будут выполнены оба AJAX запроса, стервятник начнет есть.

        Как это работает?
      • Темная цветовая палитра Eclipse при помощи Compiz Color Filter



          Вот такая цветовая схема получилась у меня в конечном итоге.

          Лично я тяготею к белым буквам (ну и зеленым, конечно) на черном фоне. Особенно в темноте читать легче и не так бьет по глазам.

          К сожалению данное решение приемлимо лишь для тех, кто пользуется Gnu/Linux или другой ОС, к которой поставляется оконный менеджер Compiz.

          Читать дальше →
        • XAMPP on Linux + Xdebug (Linux 64bit)

            Итак, сегодня мне удалось поставить XDebug на XAMPP for Linux. Если у вас 32-битный Линукс, можете не читать оставшийся текст, для вас есть простое решение, и не одно, которое можно с легкостью найти в Сети.

            О безумных благах дебаггера для ПХП даже не нужно рассказывать. На 64-битной висте/виндоус7 хдебаг никак не хотел работать (обваливалась виста; для семерки не было скомпиленной версии библиотеки)

            Для тех, кто не знает:
            XAMPP — пакет программ из apache+mysql+php+perl+proftpd+…
            XDebug — библиотека для РНР. Позволяет отчищать от лажи скрипты на РНР. (В основном используют вкупе с IDE, например Eclipse+PDT. Позволяет расставлять брейкпоинты, отлаживать пошагово и смотреть содержимое переменных)

            Если вы попали сюда из поиска, то вас мало интересуют мои приключения и поиски, поэтому сразу к делу.

            Update: Дорогие будущие читатели, эта статья для вас, если:
            * Вам часто нужно переключаться между разными конфигурациями веб-сервера (напирмер PHP4/5.2/5.3) или вы по другим причинам пользуетесь XAMPP под Линукс.
            * Вам нужен XDebug
            * У вас 64-битный Линух
            * К моменту когда вы начнете читать этот пост не существует 64битного ХАМРР.

            Остальные, можете не читать. Я не сравниваю ХАМРР с другими существующими решениями, просто он у меня есть, я с удовольствием пользуюсь. Я покопался в сети и не нашел решения для моей проблемы, поэтому решил поделиться с вами тут.

            Читать дальше →