LINUX.ORG.RU

Mozilla Phones for Apps

 , , ,


2

2

В попытке подстегнуть разработку программ под свою операционную систему, компания Mozilla приняла решение раздавать телефоны Geeksphone Keos бесплатно для разработчиков ПО под нее.

Акция Phones for Apps напоминает похожие акции от Nokia в прошлом, которые позволили в свое время развить экосистему MeeGo/Maemo.

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

Форма для заявки

>>> Официальный анонс Phones for Apps

Deleted

Проверено: Shaman007 ()

Ответ на: комментарий от special-k

Ну про приличность судить рано, а вот с практической т.з. jQuery всё ещё у руля, с ним будет быстрее, т.к. твою DSL ещё никто в глаза не видел и виджетов к ней не понаписал.

На самом деле, меня тоже бесит HTML конкатенацией, но, честно, абсолютно было всё равно, что там внутри chosen'а, главное, что API нормальное и работает хорошо. В случае каких-то неразрешимых проблем, можно будет и переписать. Но пока смысла нет.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

А так что мешает?

Ну нет в jquery, на сколько мне известно, методов для работы с текстовыми узлами.. и не принято.. html() - вот что используется, вон, «this.container.html(». А ты не будешь делать то, что не естественно.

А это почему с jQuery нельзя?

jquery оперирует всем через селекцию, обращение к элементу напрямую по сути хак.

special-k ★★★ ()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от Binary

Но пока смысла нет.

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

special-k ★★★ ()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

Ну нет в jquery, на сколько мне известно, методов для работы с текстовыми узлами

омномном, а чем тебе text() не угодил?

jquery оперирует всем через селекцию, обращение к элементу напрямую по сути хак.

var el = $('span');
el.addClass('class');
el.text('hey, jquery is worth to know!');

не?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

не?

Не. Совсем не производительный вариант. У каждого вызова свой оверхед, потому все используют html(). Да и не будешь ты так делать, на чуть сложном фрагменте.

text()

Ну и что общего с textNode..

special-k ★★★ ()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

У каждого вызова свой оверхед, потому все используют html()

Ты переходишь на что-то совсем уж несвязное.

Ну и что общего с textNode

Оно, блин, ставит textNode у эл-та, что тебе надо то конкретно можешь объяснить или будешь юлить?

Похоже, с jQuery у тебя происходит нечто подобное, что происходит с Python.

Binary ★★★★★ ()
Ответ на: комментарий от special-k

Кстати, мне вот что иногда не нравится в jQuery: к дополнение ко всем свистопляскам с типами в js, там есть такая беда, что если селектор не выбрал ничего, а ты делаешь на эл-те какой-то метод, то он тихо не отработает, никак не ругнувшись. Почему так сделано всем ясно, но частенько это добавляет головняка при отладке. :)

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Оно, блин, ставит textNode у эл-та

нееет))) оно делает следующее

text: function( value ) {
return jQuery.access( this, function( value ) {
return value === undefined ?
jQuery.text( this ) :
this.empty().append( ( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value ) );
}, null, value, arguments.length );
}

special-k ★★★ ()
Ответ на: комментарий от special-k

Это и есть «поставить textNode у узла». Ещё раз повторяю вопрос: а тебе чего от неё хочется? А то так и будем, как слепой с глухонемым.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Ты переходишь на что-то совсем уж несвязное.

Во-первых не производительно, во-вторых так не работают. В простых случаях используют innerHTML (ибо проще и быстрее), в сложных используют шаблонизаторы. И тот и другой вариант по сути непредусмотрен для jquery, потому как оно существует для сканирования страницы. Так что нахрена завязываться на jquery в том же chosen, мне не понятно. Наверняка существуют подобные вещи не привязанные ни к одному из тулкитов, ибо они просты. Там и анимации нет. В общем, не знаешь ты зачем нужно jquery.

special-k ★★★ ()
Ответ на: комментарий от olegsov

какая разница, на чем система написана

Система не должна крутиться на тормозных рантаймах.

десктопные гуи на телефоне всё равно бесполезны

В целом - да, а вот контролы можно было и портануть. Qt же на Android портанули. И вся переработка заключается в изменении форм и логики работы с ними. А тут приходится лепить полностью новый гуй.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от special-k

Во-первых не производительно

Где ты видишь проблему производительности?

во-вторых так не работают

кто?

В простых случаях используют innerHTML (ибо проще и быстрее)

И вешают кучу уязвимостей, ага, слыхали. А чем оно быстрее? А почему проще?

в сложных используют шаблонизаторы

Согласен, но это иррелевантно теме.

И тот и другой вариант по сути непредусмотрен для jquery, потому как оно существует для сканирования страницы

Это тебе голоса в голове сказали? Или объясни, откуда такой вывод?

Так что нахрена завязываться на jquery в том же chosen, мне не понятно. Наверняка существуют подобные вещи не привязанные ни к одному из тулкитов, ибо они просты

Пример, пожалуйста, я с радостью избавлюсь от chosen'а, мне конкатенация, повторюсь, самому не нравится.

Там и анимации нет

Там она и не нужна.

В общем, не знаешь ты зачем нужно jquery.

Пока такое впечатление производишь тут ты. Может, всё же, объяснишь, что ты хотел от TextNode?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

а тебе чего от неё хочется?

например, в произвольный момент времени изменить nodeValue узла.

special-k ★★★ ()
Ответ на: комментарий от special-k

например, в произвольный момент времени изменить nodeValue узла.

И что тебе не нравится в .text()? Его можно вызывать только на пасху, но не в пост?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

А чем оно быстрее?

временем выполнения.

А почему проще?

одно действие создает всю структуру.

иррелевантно теме.

шаблонизаторы работают по тому же принципу, по сути '<a htef=' + v + '...' это и есть простой шаблон.

Пример, пожалуйста

вот уж сам ищи эту ерунду.

special-k ★★★ ()
Ответ на: комментарий от Binary

ты не можешь понять, что text() вызывается у обертки вокруг _елемента_, а nodeValue у конкретного текстового объекта абсолютно отвязано от элемента.

special-k ★★★ ()
Ответ на: комментарий от special-k

временем выполнения.

Ты уже начал откровенную чушь говорить. ПОЧЕМУ оно быстрее? С чего ты это придумал?

одно действие создает всю структуру

Нооорм. Создали всю структуру лихо, повесив дырок, малаццы!!! Так победим.

шаблонизаторы работают по тому же принципу, по сути '<a htef=' + v + '...' это и есть простой шаблон

У тебя упрощённое понимание. Но причём тут это?

вот уж сам ищи эту ерунду

Ну т.е. chosen остаётся в тренде :)

Binary ★★★★★ ()
Ответ на: комментарий от special-k

ты не можешь понять, что text() вызывается у обертки вокруг _елемента_

А, так тебя коробит то, что textNode создаётся заново, вместо того, чтобы использовать тот textNode, который там уже есть? Спешу тебя утешить, это или также, или даже быстрее, чем проверять, есть ли там внутри textNode, доставать его из чайлдов...

а nodeValue у конкретного текстового объекта абсолютно отвязано от элемента.

ну не совсем, он всё-таки чайлд этого эл-та. это всё прекрасно, но как это ускоряет наш многострадальный код?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

А, так тебя коробит то, что textNode создаётся заново

это сложная функция, она много что делает.

чем проверять, есть ли там внутри textNode, доставать его из чайлдов...

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

но как это ускоряет наш многострадальный код?

ну вот как-то ускоряет и упрощает доступ, долго объяснять)

special-k ★★★ ()
Ответ на: комментарий от special-k

это сложная функция, она много что делает

Конкретнее?

верно, поэтому он просто есть, или его просто нет, это же сразу понятно, а с jquery ты сканишь, проверяешь, сканишь и тд

И как это тебе сразу понятно, без подсматривания в чайлды?

И что ты там сканируешь постоянно? Объясни, а?

вобщем, будешь писать что-нибудь сложное и интерактивное - поймешь)

Муахаха, ну куда уж мне, ей Богу! Ой, ну что Вы! :)

ну вот как-то ускоряет и упрощает доступ, долго объяснять)

Пока ускорением тут не пахло, а уж упрощением доступа — вдвойне.

Binary ★★★★★ ()
Ответ на: комментарий от special-k

дополнительных действий

Всё createTextNode покоя не даёт, да? А сколько нужно создать таких нод, чтобы почувствовать ускорение, когда их не создаёшь, а меняешь nodeValue у существующего?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Пока ускорением тут не пахло, а уж упрощением доступа — вдвойне.

Ты же вообще не понимаешь о чем речь лол)

Всё createTextNode покоя не даёт, да?

Я тебе показал исходный код этой функции, она только создает ноду по-твоему чтоли.. ты вообще внутрь jquery смотрел хоть.. и др. либ.. Это все нормально для сканирования страницы после ее загрузки и простых скриптов, но не предназначено для предложенного тобой использования, там это все выглядит нелепо.

special-k ★★★ ()
Ответ на: комментарий от special-k

Ты же вообще не понимаешь о чем речь лол)

Куда мне.

Я тебе показал исходный код этой функции, она только создает ноду по-твоему чтоли..

Давай разбираться: что она делает ещё?

Binary ★★★★★ ()
Ответ на: комментарий от Binary

в Firefox при брейкпоинте следущий запрос куда-то пропадает

очевидно предположить — что проблема именно реализации механизма breakpoint`ов :) ...

..кстате — это ошибка возникает в Firebug-плагине или в штатном (встроенный) отладчике?

user_id_68054 ★★★★★ ()
Ответ на: комментарий от user_id_68054

Да, я уже сказал там, что проблема именно с файрбагом. Встроенный ещё не проверял, проверю позже, сегодня болею.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Да, я уже сказал там, что ...

не обижайся сильно на меня... я не осиливаю прочитать всю ветку :-)

user_id_68054 ★★★★★ ()
Ответ на: комментарий от user_id_68054

Я не обижаюсь, ветка получилась большая, но конструктива мало. Я просто сказал, что уже понял, что за чёрт. Там же, правда, я ещё привёл интересный случай с хромиумом.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Давай разбираться: что она делает ещё?

то что для хомпейдж несущественно, а для гугл карт неприемлимо.

special-k ★★★ ()
Ответ на: комментарий от special-k

Ты меня троллишь что ли? Какие именно вещи происходят в $().text()? Безо всяких иносказаний, прикрывающих то, что тебе нечего сказать.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

Но вот с хромом недавно возникла тоже интересная история: приходит картинка в base64, производится её раскодирование из base64, используя CryptoJS, а потом подсчёт SHA-1 хеша. Так вот, в новом хроме из генты, если не использовать отладчик, хеш считается неправильно. Если же просто поставить любой брейкпоинт, даже который никогда не сработает (с условием false, например), то хеш, волшебным образом, начинает считаться правильно. В фф или более старых хромах такой проблемы нет. Скорее всего, это временный баг и надо использовать хром стабильный, но всё равно случай забавный.

base64 — это текстовый формат .. и тут всё должно быть ясно...

а вот тот вариант который получается после раскодирования — в каком виде он получается/хранится, и в каком виде происходят с ним операции?

используется ли Blob-объекты, или вместо Blob`ов используются различные хаки? (хаки это в данном случае могут быть — двоичные данные в текстовой строке).

если используются хаки — то НЕ думаю что есть смысл удивляться, на тему почему вдруг в определённый момент всё работает не хорошо :-) :-) ..

ну а если хаков нет, то узнать причину — было бы очень полезно!

user_id_68054 ★★★★★ ()
Ответ на: комментарий от user_id_68054

Нет, там используется массив, хранящий слова в Number'ах. А что за операции — не знаю, не силён в крипто.

Могу попробовать наваять тест, если правда интересно.

Binary ★★★★★ ()
Ответ на: комментарий от Binary

так как у меня компьютер не Гентовый , то возможность установить Chrom(-ium) — у меня к сожелению нет. так что здесь я могу только по слушать как оно там работает... или проверить что-нибудь в Firefox :-)

user_id_68054 ★★★★★ ()
Ответ на: комментарий от user_id_68054

В firefox то всё и так работает, что там смотреть? :)

Binary ★★★★★ ()
Ответ на: комментарий от MiniRoboDancer

Система не должна крутиться на тормозных рантаймах.

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

В целом - да, а вот контролы можно было и портануть. Qt же на Android портанули. И вся переработка заключается в изменении форм и логики работы с ними. А тут приходится лепить полностью новый гуй.

а смысл, если они всё равно свой гуй полностью делали?

кому надо тот пусть и портирует.

olegsov ()
Ответ на: комментарий от quiet_readonly

А физика? Насколько я знаю, мобильные игры просчитывают физику на CPU, а не на GPU. Сложные игры(вроде 3D-шутеров и стратегий) нуждаются в нативном коде.

lucentcode ★★★★★ ()
Ответ на: комментарий от Binary

Java Script просто не был рассчитан на написания сложного ПО, с большим числом модулей и их зависимостями. С задачей динамического изменения HTML-документов он справляется хорошо. Для написания ПО, аналогичного десктопному, нужны совсем другие технологии. Раз HTML-документы эволюционировали в веб-приложения - нужны другие инструменты для создания веб-приложений. Но альтернатив Java Script до сих пор нет. Поэтому его используют даже там, где ему не место.

lucentcode ★★★★★ ()
Ответ на: комментарий от Deleted

Можно делать морду на HTML и Js, а все сложные рассчёты по старинке перекладывать на native-код. Так удешевление производства ПО получаем(верстальщики дешевле, чем специалисты по юзабилити, и созданию GUI на традиционных тулкитах). Что сказывается на цене приложений.

lucentcode ★★★★★ ()
Ответ на: комментарий от lucentcode

Я уже писал, что рассматриваю js с той стороны, куда его пытаются запихать. И там он не очень.

Binary ★★★★★ ()
Ответ на: комментарий от special-k

Всякие грязные вещи

Ну т.е. ты не в курсе, так бы сразу и сказал.

А твой тест делает не то, о чём мы говорили, продолжай насиловать журналистов дальше.

Binary ★★★★★ ()
Ответ на: комментарий от lucentcode

Для этого есть штуки типа QML. И, собственно, специалисты по юзабилити всё равно нужны, верстальщики этим усиленно не занимаются.

Deleted ()
Ответ на: комментарий от lucentcode

С задачей динамического изменения HTML-документов он справляется хорошо

На самом деле справляется он довольно хреново, но уже ничего не поделаешь.

Deleted ()
Ответ на: комментарий от Binary

Учитывая твои фейлы с js, можно с увереностью говорить, что ты не знаешь js))) И.. может у тебя есть примеры сложных гуи приложений, может ты вообще не умеешь писать гуи и с этого надо начинать?)

special-k ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.