Phonegap - возможно. Titanium - это полностью (100%) нэйтивный UI/UX.dotcom wrote:Преимущества понятны. Понятно, почему вышеприведенные конторы их используют. Однако, опять же, как и ты сам знаешь, high profile приложения сначала появляются на витрине phonegap и titanium, а потом оттуда исчезают тихо. Ну когда элементарный listview с маленькими webviews начинает рендериться в стиле slideshow, то ограничение достигается очень быстро. И таких мин там до фига.Интеррапт wrote: Да и даже для контор, у которых с ресурсами все в порядке - тоже может пригодиться. На титаниуме уже десятки тысяч приложений написано, включая большие бренды, как EBay, PayPal, NBC и еще много кто.
Поиск работы осень 2012 года Bay Area
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Поиск работы осень 2012 года Bay Area
Ну да, замечательно. Даже нативный код можно превратить в вермишель и тормозить будет получше чистого JS/HTML. Только шаг в сторону в виде элементарного pull-to-refresh превращается в геморой. У меня один разработчик попробовал сделать пример... Оказалось, что в версии titanium'а, которую он скачал, пример уже не работает, а как поправить никто не знает, прикрутить нативные Android-PullToRefresh и PullToRefresh от Twitter'а было забавой, которую он за один не хотел осилить. Я вон на андроидный компонент три дня убил, пока нашел багу с overscrolling'ом у автора. Представляю, как бы я ее искал в Titanium. Это ж был бы ахтунг-капут перед релизом.Интеррапт wrote: Phonegap - возможно. Titanium - это полностью (100%) нэйтивный UI/UX.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Если аппа написана под одну платформу (и нафига тогда???), то, может, и не отличу. Но, поскольку подход к проектированию интерфейсов совершенно разный у андроида и айос, у кроссплатформенных приложений уши торчатИнтеррапт wrote: Тот же Титаниум - это не закос под нейтивное. Это самое настоящее нейтивное UI где программирование идет через JavaScript и сопутствующие технологии и никак ты не отличишь это от приложения написаного на Android/Java или iOS/Objective-C. В качестве примера Титаниум приложения:
Да все это из одной области, по большому счетуИнтеррапт wrote:Пример фейсбука не в тему, они фактически сделали веб контейнер, в котором грузили мобильный веб сайт. Решение для конторы, у которой хватает ресурсов все сделать нейтивно - изначально было очень странное.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Ну нечего менять версию SDK перед релизом. И тем более добавлять новые фичи (типа того же pull-to-refresh) в приложение перед релизомdotcom wrote:Только шаг в сторону в виде элементарного pull-to-refresh превращается в геморой. У меня один разработчик попробовал сделать пример... Оказалось, что в версии titanium'а, которую он скачал, пример уже не работает, а как поправить никто не знает, прикрутить нативные Android-PullToRefresh и PullToRefresh от Twitter'а было забавой, которую он за один не хотел осилить. Я вон на андроидный компонент три дня убил, пока нашел багу с overscrolling'ом у автора. Представляю, как бы я ее искал в Titanium. Это ж был бы ахтунг-капут перед релизом.
Никто не спорит, что косяки бывают, особенно если брать чей-то код (вроде того же pull-to-refresh). Платформа молодая довольно, но неплохо развивается. Версия 3.0 (с Alloy) которая недавно вышла - очень даже неплохой продукт.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Вот так и знал, что ты обидишься. Хотел накрутить дисклеймеров, что типа одно дело, если это делают просто потому что деняк платят, а другое - если сознательно и так далее, но понял - один хрен не получитсяИнтеррапт wrote: А я использовал/использую Titanium (наряду с другими инструментами) и из профессии никуда не тороплюсь
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Поиск работы осень 2012 года Bay Area
Я согласен. К сожалению, фичи добавили перед релизом, когда я был в отпуске.Интеррапт wrote: Ну нечего менять версию SDK перед релизом. И тем более добавлять новые фичи (типа того же pull-to-refresh) в приложение перед релизом
Надо будет посмотреть, что они там наваяли. Они вроде поддерживают Win и BB тоже. К слову, когда уже есть codebase, то идти в обратную сторону к подобным framework'ам еще дороже, чем поддерживать существующее, даже если framework подходит и обещает иметь одну базу под все платформы.Интеррапт wrote:Никто не спорит, что косяки бывают, особенно если брать чей-то код (вроде того же pull-to-refresh). Платформа молодая довольно, но неплохо развивается. Версия 3.0 (с Alloy) которая недавно вышла - очень даже неплохой продукт.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Там JavaScript компилируется при помощи V8 и зовет родные (для данной OS) компоненты. Т.е. для iOS будет вызываться UIButton для отрисовки кнопки, для Андроида - android.widget.Button и т.п.АццкоМото wrote:Если аппа написана под одну платформу (и нафига тогда???), то, может, и не отличу.
И да и нет. Они там сделали такую вещь - вся логика (логика приложения, обработка событий от UI и т.п.) - platform-independent (на JavaScript). Интерфейс можешь делать декларативно (через XML, но можешь и руками через код) и, если нужно (а это правильней всего) - создавать разные XML для разных платформ, конфигураций и т.п. (типа как в Андроиде ты можешь разносить ресурсы в зависимости от конфигурации телефона, но в данном случае еще дополнительно можно в зависимости от OS разносить). Ес-но можно и другие ресурсы (картинки, например) добавлять в платформенные директории. Иной раз конечно приходится вставлять и платформенно-зависимый код, но подавляющая часть приложения - платформо-независимая.АццкоМото wrote: Но, поскольку подход к проектированию интерфейсов совершенно разный у андроида и айос, у кроссплатформенных приложений уши торчат.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Не выдумывайАццкоМото wrote:Вот так и знал, что ты обидишься.
Кстати, ладно еще JavaScript. А вот если с Corona SDK работать (а это архи-популярная платформа для разработчиков игр под мобилки), то там вообще нужно на LUA писать.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Да это-то понятно, кнопка - она и в Африке кнопка. А если ActionBar или там ViewPager? Я уж не говорю про какой-нибудь ActionSherlock (или как там он зовется - очень полезная хрень)Интеррапт wrote: Там JavaScript компилируется при помощи V8 и зовет родные (для данной OS) компоненты. Т.е. для iOS будет вызываться UIButton для отрисовки кнопки, для Андроида - android.widget.Button и т.п.
Что-то мне кажется, если приложение такого рода, что в нем одна кнопка "Горшочек, вари", по нажатию которой запускаются патентованные алгоритмы, выдающие после восьмисекундного напряжения всех 4х ядер ответ "42" или "сегодня меняй драхмы на тугрики, а тугрики - на динары", то оно имеет смысл. А так... ну какая там логика в типичном приложении? Смех одинИнтеррапт wrote: И да и нет. Они там сделали такую вещь - вся логика (логика приложения, обработка событий от UI и т.п.) - platform-independent (на JavaScript). Интерфейс можешь делать декларативно (через XML, но можешь и руками через код) и, если нужно (а это правильней всего) - создавать разные XML для разных платформ, конфигураций и т.п. (типа как в Андроиде ты можешь разносить ресурсы в зависимости от конфигурации телефона, но в данном случае еще дополнительно можно в зависимости от OS разносить). Ес-но можно и другие ресурсы (картинки, например) добавлять в платформенные директории. Иной раз конечно приходится вставлять и платформенно-зависимый код, но подавляющая часть приложения - платформо-независимая.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Ну, геймдев для меня вообще терра инкогнита. Я даже слов таких не зналИнтеррапт wrote:А вот если с Corona SDK работать (а это архи-популярная платформа для разработчиков игр под мобилки), то там вообще нужно на LUA писать.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Поиск работы осень 2012 года Bay Area
Ну так Lua проще Javascript'а то. А если сравнивать V8 и LuaJIT, то первый будет нервно курить в сторонке.Интеррапт wrote: Кстати, ладно еще JavaScript. А вот если с Corona SDK работать (а это архи-популярная платформа для разработчиков игр под мобилки), то там вообще нужно на LUA писать.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
http://docs.appcelerator.com/titanium/l ... .ActionBarАццкоМото wrote:А если ActionBar
Идешь на appcelerator marketplace и забираешь оттуда модуль с ViewPagerАццкоМото wrote:или там ViewPager?
https://marketplace.appcelerator.com/ap ... ?697822035
Ну если в приложении действительно нет логики и это Hello World в UI исполнении, то тогда действительно не будет проблем портить с одной платформы на другую без всяких Титаниумов.АццкоМото wrote:А так... ну какая там логика в типичном приложении? Смех один
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
U R totally missing Z point Я догадываюсь, что ими можно пользоваться. Но ты изначально говорил: вот кнопка, она замаппится на UIButton в iOS и в android.widget.Button в ондроеде. Соответственно, вопрос: куда будет маппиться ActionBar & ViewPager в iOS?Интеррапт wrote:http://docs.appcelerator.com/titanium/l ... .ActionBarАццкоМото wrote:А если ActionBar
Идешь на appcelerator marketplace и забираешь оттуда модуль с ViewPagerАццкоМото wrote:или там ViewPager?
https://marketplace.appcelerator.com/ap ... ?697822035
Ну а где логика есть? Ну там в браузере, в мыле (мыло и то сомнительно). Возможно, в некоторых игрушках. Даже во всяких фейсбуках-гуглоплюсах логики ноль. Нажали кнопку (или получили пуш)-послали запрос-получили ответ-отобразили как-то. Не считать же это какой-то особой логикой, отделенной от UI/UX?Интеррапт wrote:Ну если в приложении действительно нет логики и это Hello World в UI исполнении, то тогда действительно не будет проблем портить с одной платформы на другую без всяких Титаниумов.АццкоМото wrote:А так... ну какая там логика в типичном приложении? Смех один
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Ну так поэтому LUA для игровой платформы используется, а Titanium - в основном для приложений (хотя и для игр тоже, все-таки V8 довольно шустрая штука). У JavaScript комьюнити побольше и различных готовых компонент больше.dotcom wrote:А если сравнивать V8 и LuaJIT, то первый будет нервно курить в сторонке.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Если пользоваться андроидными вещами, которых принципиально нет в iOS, то ActionBar вынесется в отдельный XML, в котором даже можно сделать include для остальной части view - которая более портабельная. Аналогично можешь написать отдельный обработчик для этого ActionBar или даже пользоваться общим обработчиком. Например, событие onAboutClick можно повесить из андроидного слоя на ActionBar-е и при этом повесить на какую-то кнопку в iOS.АццкоМото wrote: U R totally missing Z point Я догадываюсь, что ими можно пользоваться. Но ты изначально говорил: вот кнопка, она замаппится на UIButton в iOS и в android.widget.Button в ондроеде. Соответственно, вопрос: куда будет маппиться ActionBar & ViewPager в iOS?
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
По поводу ViewPager - просто используешь
http://docs.appcelerator.com/titanium/l ... llableView
который переключается между окнами при помощи horizontal swipe gestures.
http://docs.appcelerator.com/titanium/l ... llableView
который переключается между окнами при помощи horizontal swipe gestures.
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Поиск работы осень 2012 года Bay Area
jar ето upper level wrapper 4 android Мне казалось все андроидные аппс на самом верхнем уровне так или иначе требуют java interface, разве нет?Интеррапт wrote:А jar здесь при чем?Ljolja wrote:вообше говоря phonegap ето jar/js wrapper "написать одну приблуду на phonegap" ... требует изрядной изобретательноcти. phonegap cookies конвертировать не умеет(ел), в остальном работаeт по описаниюagrippina wrote: Ну хоть в чем-то у меня есть опыт! Года три назад я пытался написать одну приблуду на phonegap... Это было реальное испытание на нордическость характера. К сожалению, phonegap его не выдержал!.
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Ну, отлично. Делаем мы в итоге два юая, а чуть копнем дальше, выяснится, что обрабочик выглядит примерно так (жаваскриптом не владею)Интеррапт wrote: Если пользоваться андроидными вещами, которых принципиально нет в iOS, то ActionBar вынесется в отдельный XML, в котором даже можно сделать include для остальной части view - которая более портабельная. Аналогично можешь написать отдельный обработчик для этого ActionBar или даже пользоваться общим обработчиком. Например, событие onAboutClick можно повесить из андроидного слоя на ActionBar-е и при этом повесить на какую-то кнопку в iOS.
onAboutClick() {
switch (getPlatform()) {
case ANDROID:
return onAndroidAboutClick();
case IOS:
return onIosAboutClick();
default:
// Shit, need to find better solution some time later
killMyself();
}
но зато мы очень рады, что один и тот же обработчик вызывается из разных мест кода на разных платформах
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 9035
- Joined: 25 Oct 2011 19:02
- Location: SVO->ORD->SFO
Re: Поиск работы осень 2012 года Bay Area
LUA, понятно, как скрипт используется в engine'ах. Меня угораздило в свое время на Unreal Script программировать, который был "вдохновлен" Javascript'ом. Ну так это была вещь! Посмотрел, как народ сейчас скриптует в Lua. Так ведь небо и земля. Человеческий язык. В смысле, что язык для людей сделан.Интеррапт wrote: Ну так поэтому LUA для игровой платформы используется, а Titanium - в основном для приложений (хотя и для игр тоже, все-таки V8 довольно шустрая штука). У JavaScript комьюнити побольше и различных готовых компонент больше.
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
А... ты об этом. Ну как бы и да и нет. Не совсем понимаю, что такое java interface в данном контексте, но JAR - это просто ZIP файл с манифестом и .class файлами. Андроид упаковывает все в APK файл (который собственно похож чем-то на JAR, он тоже является ZIP архивом, в нем есть META-INF директория с манифестом). Но при этом, например, отсутствуют .class файлы, вместо них один classes.dex, с Java кодом в Далвик формате, а так же в нем может быть platform-dependent код (для разных архитектур), ну и ес-но ресурсы.Ljolja wrote:jar ето upper level wrapper 4 android Мне казалось все андроидные аппс на самом верхнем уровне так или иначе требуют java interface, разве нет?Интеррапт wrote: А jar здесь при чем?
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
WHAT???!!!!Ljolja wrote:jar ето upper level wrapper 4 android Мне казалось все андроидные аппс на самом верхнем уровне так или иначе требуют java interface, разве нет?
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Такой код тоже может попадаться, ес-но. Но при грамотном подходе к проектированию UI - будет попадаться намного реже, чем ты думаешь. Ацко, ты же не думаешь, что я дурак и буду выбирать инструменты, которые мне добавят головной боли, вместо того, чтобы уменьшить ее?АццкоМото wrote:но зато мы очень рады, что один и тот же обработчик вызывается из разных мест кода на разных платформах
И таки да, я вначале оцениваю, что мол скорее всего мне в этом случае Titanium не нужен и лучше сразу идти в Android/iOS напрямую, а вот в этом случае - сэкономит время.
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: Поиск работы осень 2012 года Bay Area
Конечно, я так не думаю. Я думаю, что тут играет роль комбинация кучи факторов. Каких точно - не знаю, но вот предположения:Интеррапт wrote:Ацко, ты же не думаешь, что я дурак и буду выбирать инструменты, которые мне добавят головной боли, вместо того, чтобы уменьшить ее?
- Есть какая-то специфика проектов
- Платформенные UI guidelines часто приносятся в жертву унификации энторфейса между платформами
- Просто интересно пощупать что-то новое
- Интересно сделать не "в лоб", как сделали бы другие, а с подвыподвертом
- Если делать с Титаниумом, то тебя не заменить каким-нибудь Ацко за полцены
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 2924
- Joined: 01 Apr 2004 04:22
Re: Поиск работы осень 2012 года Bay Area
за такой код уважаюший себя работодатель поставит Вам 2ку на интервью .АццкоМото wrote: onAboutClick() {
switch (getPlatform()) {
case ANDROID:
return onAndroidAboutClick();
case IOS:
return onIosAboutClick();
default:
// Shit, need to find better solution some time later
killMyself();
}
но зато мы очень рады, что один и тот же обработчик вызывается из разных мест кода на разных платформах
Правильный код:
Code: Select all
onAboutClick() {
try
onAndroidAboutClick();
except
log msg "ети уроды пользуют наш апп не на android"
try
onIosAboutClick();
except
log msg "у них даже не ios"
return to user "we are so so MUCH apologize for the inconvenience, we are working hard to make your user experience more enjoying than you can imagine, please come again "
}
Я боюсь, что наступит день, когда технологии превзойдут простое человеческое обшение. И мир получит поколение идиотов (c)
-
- Уже с Приветом
- Posts: 17281
- Joined: 07 Sep 2011 10:05
- Location: Seattle, WA
Re: Поиск работы осень 2012 года Bay Area
Хе-хе, всего понемногу Правда про job security я в данном случае не думал.АццкоМото wrote:Конечно, я так не думаю. Я думаю, что тут играет роль комбинация кучи факторов. Каких точно - не знаю, но вот предположения:Интеррапт wrote:Ацко, ты же не думаешь, что я дурак и буду выбирать инструменты, которые мне добавят головной боли, вместо того, чтобы уменьшить ее?
- Есть какая-то специфика проектов
- Платформенные UI guidelines часто приносятся в жертву унификации энторфейса между платформами
- Просто интересно пощупать что-то новое
- Интересно сделать не "в лоб", как сделали бы другие, а с подвыподвертом
- Если делать с Титаниумом, то тебя не заменить каким-нибудь Ацко за полцены
Ну еще один пункт забыл добавить, что таки хочется по возможности иметь один codebase.