Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE3

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

ну как там будет - кто его знает.
но на форукме увязывали переработку языка и переработку компилятора.
 
язык надо перерабатывать, если не одновременно вс новым поколением компиляторов - то когда ?
 
Но в переработанный язык QT может лечь как родной, а ограниченный старым языком FMX/VCL оказаться  устаревшими

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 12:29 09-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но на форукме

 
any links?
 

Цитата:
QT может лечь как родной

 
Не понимаю, чем вам так мил QT? FMX по архитектуре особо не хуже, а по поддержке GPU - так даже вполне передовой) Да, QT чуть более "вылизан", но FMX сейчас вылизывают! На мой взгляд - шило на мыло))

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 13:01 09-08-2012
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks
 

Цитата:
QT лучше "мимикрирует" под платформу, правильно запрашивает метрики и шрифты, в отличие от FMX. В любом случае, оба фреймвока рисуют контролья на каждой платформе самостоятельно.

 
В принципе, ничего не мешает и в FMX получать метрики. Другое дело, что существующие стили этого не учитывают.
 

Цитата:
Но вот уже при эмулированном UI не получиться развиваться со скоростью платформы. Будут проблемы, как в случае iOS - когда на iphone появился Retina-экран: все приложения на нативных контрольях "автоматически" получили поддержку рендеринга на retina экранах.

 
В FMX с этим все просто. Контейнеру гуя, лайауту например, устанавливается скейлинг в соответствии с пропорциями экрана устройства и всё будет отмасштабировано. Кстати, если видели демки XE3 и заглядывали в .fmx файлы, то могли обнаружить у форм свойство FormFactor со свойством AspectRatio. Подозреваю, что, как раз, для вышеозначенных целей.

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 13:50 09-08-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
any links?

обсуждали же уже.
 
нет, не будет. Потому что с тех пор форум грохнулся. Кто захочет/Сможет - найдет так же как искал бы я.
 
кроме того, рахзговоры-разговорами, а маркетологи могут взят и перерешить. Вот мне на QC обещали обновление к XE2, еще одно. Кто-нибудь в это верит ?
 

Цитата:
FMX по архитектуре особо не хуже

там есть signal/slot ? HTML ? поддержка Linux'a ? OpenGL ?
 
QT - не только GUI
и разработччиков у него больше, чем у FMX

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 15:57 09-08-2012
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
войство FormFactor со свойством AspectRatio.

ага, интересно как это нам можно будет использовать:
 
FormFactor.Width = 1920
FormFactor.Height = 1200
FormFactor.Devices = [dkDesktop, dkIPhone, dkIPad]
FormFactor.Aspect = 0.625000000000000000
 
FormFactor.Width = 2020
FormFactor.Height = 1272
FormFactor.Devices = [dkDesktop, dkIPhone, dkIPad]
FormFactor.Aspect = 0.629702985286712700
 
Добавлено:

Цитата:
там есть signal/slot ? HTML ? поддержка Linux'a ? OpenGL ?  

да в обезьяне есть поддержка opengl для osx и opengl es для ios
а для винды directx, именно из-за отсутствия в qt поддержки directx там есть проблема с быстрой поддержкой winrt.........
поэтому и печально что имея такое преимущество в виде директх в обезьяне нет до сих пор winrt слоя........
поэтому портирование на линукс обезяны тоже не вызывает особых проблем,
но видимо евгений пишет один свой фреймворк, ну оооочень медленно..........

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 16:32 09-08-2012 | Исправлено: sergionn, 16:42 09-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1
 

Цитата:
там есть signal/slot ? HTML ? поддержка Linux'a ? OpenGL ?  

 
TThread есть, как синхронизация сделана - не в курсе, но как то сделана!
HTML нет, но есть DataSnap, где есть генерация HTML и он на FMX работает.
OpenGL конечно есть! Scene3D может юзать OpenGL, да и в 2D тоже можно OpenGL  задействовать - это было еще в KSDev.
Linux поддерживался еще в KSDev - через FPC.  
 
Так что не надо особо ругать FMX - вполне себе перспективный фреймвок, но с подходом к GUI, который мне кажется неперспективным. Идеально все ж таки иметь нативные контролья, и при необходимости вставлять сцену от FMX куда нужно.  
 

Цитата:
разработччиков у него больше, чем у FMX

 
Это пока Nokia не обанкротилась - к тому же именно QT инженеров они нынче сокращают. Муртазин часто про это пишет))
 
Кстати, я что-то не припомню ни одного успешного и хорошего кросс-платформенного GUI... У всех какие-то сложности!)

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 16:41 09-08-2012
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кстати, я что-то не припомню ни одного успешного и хорошего кросс-платформенного GUI... У всех какие-то сложности!)

а я не увидел много успешных коммерческих приложений на qt...........
_http://habrahabr.ru/post/143391/
_http://habrahabr.ru/post/46293/
 

Цитата:
Так что не надо особо ругать FMX - вполне себе перспективный фреймвок, но с подходом к GUI, который мне кажется неперспективным. Идеально все ж таки иметь нативные контролья, и при необходимости вставлять сцену от FMX куда нужно.  

 
Я вообще не вижу никаких преимуществ в нативных контролах ,какая разница кто их рисует - сам кросплатформенный фреймворк или слой системы, все работают через одни и те же api, в обоих случаях есть свои проблемы и преимущества, которые в итоге нивелируют друг друга. НО КРОСПЛАТФОРМЕННОСТЬ это наше ВСЕ! т.к больше времени уделяется непосредственно логике своей программы.
И вообще достаточно просто задекларировать все нативные контролы в обезьяне, а мы сами будет решать использовать или нет........

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 16:48 09-08-2012 | Исправлено: sergionn, 16:54 09-08-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
TThread есть

 
а при чем он тут ? я про множественные events говорил.
http://habrahabr.ru/post/50812/

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 16:56 09-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а я не увидел много успешных коммерческих приложений на qt

 
Вот именно) QT как пример очередного кросс-платформенного UI, который нахрен никому не уперся!)
 

Цитата:
какая разница кто их рисует

 
На iOS у слоя системы приоритет выполнения выше, чем у пользовательского кода. В результате, анимации, transiotions и в целом GUI нативных приложений очень даже отзывчив. А вот FMX приложение с часиками только запускается секунд по 10-15, и это на iphone 4S!
 

Цитата:
все работают через одни и те же api

 
В FMX-приложении все живет внутри собственной песочницы, со своей RTL, которая не особо построена и может взаимодействовать с платформой. Вы попробуйте сделать на FMX элемент для системных настроек на OS X (это аналог .cpl для win) - а для OSX разработанная RTL вполне даже ничего! На iOS взаимодействие с платформой делается вообще порой через жуткие хаки!  
 

Цитата:
НО КРОСПЛАТФОРМЕННОСТЬ это наше ВСЕ!  

 
Не путаем КРОССПЛАТФОРМЕННОСТЬ с кроссплатформенным UI.
 
Успешные многоплатформенные программы (такие как Sparrow, Evernote, etc) всегда делали отдельную версию со своим UI для каждой платформы. Иначе пользовательский опыт будет ужасным: например, если hints для Win это ок и даже хорошо, то как вы представляете их на iPad - там же мыши НЕТУ!  
 
В общем, если для OSX еще можно как-то перенести софт с Win (пусть и выглядеть он будет убого и чужеродно), то на мобильных дивайсах desktop-приложениям вообще делать нечего. Я молчу, что продать софт в Mac AppStore, который выглядит "сомнительно" - это сложно, значит ниша для FMX - это портирование enterprise приложений..  
 
Ну и я целиком за кроссплатформенный back-end: все что связано с невизуальными объектами, доступом к данным, сетью, контейнерам/коллекциям,  и тп! Но это - 40-60% от объема программы) А остальное - UI, и его нужно под каждую платформу переписывать! А FMX не дает особых возможностей сделать нативные UI  
 
 
Добавлено:
Arioch1
 

Цитата:
множественные events

 
В Delphi их нет, факт) В принципе, несложно сделать самому: например тут сделано: _http://www.deltics.co.nz/blog/?tag=multicast-events
 
Я бы добавил в язык такие штуки! Надеюсь Livebinding как-то сможет их заменить..

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 17:08 09-08-2012
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
На iOS у слоя системы приоритет выполнения выше, чем у пользовательского кода. В результате, анимации, transiotions и в целом GUI нативных приложений очень даже отзывчив. А вот FMX приложение с часиками только запускается секунд по 10-15, и это на iphone 4S!  

обезьяна и на винде то работает туго, а вот ее родитель vgscene, летает, думаю тут гдето затык случился по отрисовке компонентов сцены, посмотрим как будет в xe3........
 
Можно по подробней про ios, т.е. получается если я пишу игру на ios и использую opengl es,  то графика будут отрисовываться заведомо медленней чем ui элементы?
Это же противоречит здравому смыслу
А как же игры там так шустро бегают на ios?
 
 

Цитата:
если hints для Win это ок и даже хорошо, то как вы представляете их на iPad - там же мыши НЕТУ!  

не вижу тут проблемы - нет мыши, над контролом не проходит курсор, нет хинта, будет проходить курсор - вывалится хинт - т.е. ОДНО ДРУГОМУ НЕ МЕШАЕТ!
У меня на планшете msi winpad есть джойстик для мышки, стоит win8 - так вот я с успехом пользуюсь как пальцем, так и в некоторых случаях мышкой - все очень гармонично и удобно, а то что айпад культивировал только ввод пальцем - так это все временное.........Вот и ручка уже ОПЯТЬ появилась в samsung galaxy note........
 

Цитата:
В общем, если для OSX еще можно как-то перенести софт с Win (пусть и выглядеть он будет убого и чужеродно)

с чего вдруг, все смотриться ок!

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 17:21 09-08-2012 | Исправлено: sergionn, 17:29 09-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
vgscene, летает

 
Да не сказал бы! Меню и попапы всегда тупили не по детски, и иногда бывали жесткие глюки с перерисовкой. Например, перетаскивание элементов TreeView.
 

Цитата:
графика будут отрисовываться заведомо медленней

 
Да, это можно наблюдать, когда во время игры приходит какой-нибудь email, и вверху вылезает баннер notification. Игра жестко тупит, когда работает анимация банера (он типа "поворачивается").
 
FMX тупит больше игр из-за того, что мало оптимизирован: обрабатывает по всей сцене события мыши, "руками" перерисовывает контролья и тп. игры устроены проще: тупо рисуют сцену, само рисование за счет GPU довольно быстрое. Но вот ARM-процессор это слабое место: а FMX процессор сильно задействует)
 
Сама iOS занимается жесткой оптимизацией перерисовки GUI и перекладывает как можно больше работы на GPU: кэширование уже нарисованных пунктов ListView в Bitmap, кэширование самих объектов ListViewItem (чтобы конструктор объекта не вызывать лишний раз - делается пул объектов для ListView), отрисованная заготовка объекта кэшируется, а текст сверху этого объекта наносится как отдельный "прозрачный" bitmap, анимация очень жестко оптимизируется (рисуется контрол на bitmap, а потом уже делается анимация этого bitmap средствами OpenGL).  
 

Цитата:
игры там так шустро бегают на ios

 
Вот только игры и бегают шустро! Все CPU-intensive task это не очень.. Например, перестройка CoreData-базы из-за обновления структуры данных (это SQLite Embedded+ORM) на старте приложения вполне может и крэшить app: если софт не пускается более 30 секунд, он закрывается принудительно; если главный поток более 5 секунд не отвечает, приложение закрывается.. В общем, iOS очень экономит CPU.
 

Цитата:
не вижу тут проблемы

 
А я вижу - никто ваше приложение, которое выглядит как школьная поделка, не купит. А на iOS приложения покупают!  
 

Цитата:
все смотриться ок

 
Приведите хоть одно реальное приложение которое было портировано с Win на OSX и смотрелось ок без переделки фейса. Можно даже скрин)
 

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 17:40 09-08-2012
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks
про отвратную оптимизацию в обезъяне согласен на 100%: на некоторые куски кода без слез смотреть нельзя - сижу, многое переписываю с нуля...........
поживем посмотрим, что будет в xe3.........
 

Цитата:
Приведите хоть одно реальное приложение которое было портировано с Win на OSX и смотрелось ок без переделки фейса. Можно даже скрин)  

а что приводить - повторяют gui osx, а за содержимое самой демки мы не в ответе........

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 17:56 09-08-2012 | Исправлено: sergionn, 18:04 09-08-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Надеюсь Livebinding как-то сможет их заменить..

 
Это который все по текстовым названиям ищет в цикле ? COM Automation, Delphi edition ?
Ни проверки при компиляции, ни скорости. Просто таки Excel VBA получился идеологически.
 
Такое может быстро работать на JVM/.Net, которые такой кусок теоретически могут скопилировать во время выполнеения с прямой привязкой к соотв. сеттера/геттерам. А на Delphi это...
Да и то, про ошибки компиляции можно забыть...
 

Цитата:
 портирование enterprise приложений

...еще не написанных enterprise приложений
 
Кстати, для Ent. закос под платформу не так и важен, может и наоборотм.
 
В  "офисе" мне бы было приятно, чтобы осовная программа выглядела и вела себя одинаково на любом компьютере/планшете, независимо какая там ОС будет. Впрочем, эту нишу будет постепенно занимать HTML5
 
 
 
Добавлено:

Цитата:
В принципе, несложно сделать самому

 
Да, но это не буджет использоваться другими библиотеками. Если какая-то библиотека вешается на ивенты, то она будет просто выбивать нафиг этот мультипликатор. Если две библиотеки будет использовать каждаясвой мультипликатор... И т.д.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 18:05 09-08-2012
HeMet

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
К сожалению, ЭМРО не смогло сформировать community что.бы обсуждать направления развития продуктов и эта фишка только упоминалась DavidI

Мне кажется, они и не пытались особо. А обсуждением развития продуктов они не занимаются, хотя информацию могут дать под неразглашение. Вместо этого они раз в год всем делают сюрприз.

Цитата:
Что мешает доработать язык Delphi? Мне очень нравятся директивы FPC по поводу диалектов языка - выглядит вполне логично платформенно-зависимый код писать на платформенном диалекте языка!  

Если уж перерабатывать язык, то, наверное, удачные решения из других можно включить в основной набор. Те же протоколы из Objective-C выглядят на первый взгляд, как расширение интерфейсов в Delphi.

Цитата:
Это который все по текстовым названиям ищет в цикле ?  

Поподробнее можно? ЕМНИП, то выражение он разбирает только раз, используя IBindScope и сохраняя результат в байткод, который уже использует движок (довольно простой конечный автомат).

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 18:44 09-08-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я не копался в реализации LiveBinding
Мне они не показались дающими что-то новое.  
Если там создается и кэшируется шитый код, то это неплохо.
 
Хотя могли бы и JIT сделать. Бесплатный VirtualDub взял и сделал JIT с плавающей точкой.
А дорогущий дельфи для целочисленного и достаточно простого кода не может...
 
но в любом случае это отключает проверку при компиляции и мне это не нравится. Нравилос ьбы - писал бы на Java Script'e

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 19:36 09-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HeMet
 
По поводу развития языка: в том же Oxygene много удачных конструкций есть! Сделали ж они тот же await.

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 21:31 09-08-2012
HeMet

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Сделали ж они тот же await.

Судя по их статье о реализации await, она очень сильно завязана на возможности RTL. И если в их случае весь RTL, если я не ошибаюсь, написан МС, а с них только поумневший компилятор, то Эмб придётся делать всё самим. Но неплохо было бы заиметь такие штуки в Delphi. Интересно, насколько их реализация осложняется отсутствием сборки мусора. Вон перегрузку операторов на классах потому и не делают, что по словам Барри Келли без неё эта функция почти бесполезна.

Всего записей: 212 | Зарегистр. 05-09-2007 | Отправлено: 21:58 09-08-2012
GSirr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Всего записей: 13 | Зарегистр. 16-12-2006 | Отправлено: 22:23 09-08-2012 | Исправлено: GSirr, 09:19 10-08-2012
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
перегрузку операторов на классах потому и не делают

где не делают ? в каком смысле не делают?
 
в конце концов default properties сделали очень давно, а это частный случай перегрузки
 
@GSirr

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 10:36 10-08-2012 | Исправлено: Arioch1, 10:57 10-08-2012
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GSirr
 
Рекомендовал бы интеграторы блогов _DelphiFeeds.com и DelphiFeeds.ru
 
HeMet
 
Вот не далее как недели две назад Gabr (theDelphiGeek.com) писал как можно сделать что-то похожнее на await на его OTL! Да, без поддержки компилятором получается громоздко) Но вполне себе возможно!) Думаю, може препроцессор сделать на CastaliaParser (или DWS), который добавляет await на OTL?
 
По поводу сборки мусора - не вижу вообще никаких проблем! Делаем тред, выполняем, передаем результаты в вызвавшую процедуру, доделываем процедуру. После финиша треда и после передачи данных прибиваем тред (возвращаем в пул тредов?). После финиша "остатка" функции прибиваем объекты на ее стеке (ну и на финише функции должны быть деструкторы временных объектов). Так что при принятом в Дельфях методе управления памятью - все работает!) Гляньте пост Gabr
 
Добавлено:
sergionn
 
Посмотрел раздел про проги на QT!) Ни одной популярной и с нормальным интерфейсом уровня FlipBoard/Instagram/TweetBot/Sparrow.
 
VLC приводить как пример интерфейса - да там только кнопка Play нужна (перемотка и громкость) ну и окно настроек, основная мощь inside?) Opera чуть QT пользует, Skype вообще хз) Google Earth в основном землю показывает, а не свой интерфейс, так что QT тоже не разглядишь..  
 
В общем - не знаю!

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 11:39 10-08-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE3


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru