Появилось интересное видео на Adobe TV – рассказ Кевина Хойта о безопасности сервисов. Кевин – мастер, поэтому и рассказывает хорошо. Конечно, ещё и показывает :)

Спонсор поста: Компания ALP производит ит аутсорсинг, мониторинг серверов по заказу.

10 полезных рецептов по AIR 2.0

adbecookbook Увидел у Элада Элрома интересный пост о 10 полезных рецептах в air-кукбуке – тут вам и работа с SQLite, и получение данных о пользователе, и запуск и взаимодействие с нативными процессами, и работа с файлами.

В общем, аптечка с первой помощью. Загляните, может рецепты окажутся полезными. А если будет время и желание – поделитесь с обществом своими рецептами!

Спонсор поста: От производителя керамическая плитка, керамогранит по низким ценам.

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

В смысле глобализации у технологии проблем нет никаких – flash-плеер почти на всех компьютерах мира. Но в компьютерном мире глобализация – это интернационализация и локализация приложений. И сейчас многие компании активно развивают эту тему. Adobe – в их числе.

К чему эта длинная прелюдия? Хм, я и сам не знаю – хотел просто обратить ваше внимание на статью «The flash.globalization package in Flash Player: Cultural diversity without complexity», в котором ведется речь о том, о чём я написал выше – о локализации и интернационализации приложений, что позволит охватить больше людей, не говорящих на вашем языке.

Прописные истины? Угу, так и есть. Однако ими почему-то пренебрегают. Особенно на Западе, где стандарт – это английский язык.

Но, в любом случае крайне советую вам ознакомиться со статьей Херве Амбларда, где он очень подробно описывает процессы локализации и интернационализации flash-приложений.

Спонсор поста: Большие мобильные стенды, выставочные стенды для презентаций продукции.

ASDocr

Грант Скиннер выпустил релиз ASDocr – крохотной air2-программы для генерирования документации на основе ваших классов в вашем Flex-приложении.

asdocr

Подробности – в сообщении Гранта, а можете сразу же и скачать:

Увидел новость о приватном блуждании по сети при помощи flash player. Что это такое?

Tour de Flex с новыми примерами

Неутомимый Грег Уилсон, создатель Tour de Flex (и нескольких других туров), добавил в тур множество новых air2-примеров.

Пакуем воздух

Серж Джеспер опубликовал небольшое видео (и пост) о том, как упаковать air-приложение в .dmg – пока, правда, только в этот вариант.

Package Assistant demo from Serge Jespers on Vimeo.

CFTurbine

CF-разработчикам стоит обратить внимание на CFTurbine – средство быстрой разработки приложений.

Вот, посмотрите на пример:

Знакомство с Mate

Товарищ Racer опубликовал материал о flex-фреймворке Mate, который каждый маст рид. Там есть всё – и теория и немножко практики.

CF-загадка

Что в этом cf-коде не так, и что можно оптимизировать?

public void function update(required struct odata) hint="update object" output="false" displayname="update"
{
        //odata.id - идентификатор записи в таблице БД, который следует загрузить
        //odata.table - таблица, из которой и нужно загружать запись
        if(!structkeyexists(odata, "id") || !isnumeric(odata.id) || odata.id==0 || !structkeyexists(odata, "table") || odata.table=="")
        {
            //показываем ошибочку
            application.werrors.showerror(err="requiredparam");
        }
        try
        {
            //грузим указанный объект
            e=entityloadbypk("#odata.table#", odata.id);

            //в структуре odata передаётся массив data, 
            //из которого итератором мы выбираем элементы
            b=odata.data.iterator();
            //если есть элементы в массиве - выполняется цикл
            while(b.hasNext())
            {
                //выбираем пару
                p=b.next();
                //a - первая часть пары, то есть название столбца в таблице
                a=getToken(p, 1, "|");
                //b - вторая часть пары, то есть значение для столбца
                b=getToken(p, 2, "|");
                //выполняем присвоение объету значение. 
                //К примеру: e.setFirstName("Вася"), где "FirstName" - это наше a, "Вася" - b
                e.set&a&(b);
            }
            //сохраняем объект и очищаем ORM
            entitysave(e);
            ormflush();
        }
        catch(Any e)
        {
            //показываем ошибочку в работе с ORM
            application.werrors.showerror(err="entity", ex="#e.message#");
        }
}

Потренируйтесь. ;)

- Тут — старее »