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

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

Модерирует : 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

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

Eternal_Shield

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

Цитата:
Qt с тобой не согласно.

Ну, фреймфорки - это отдельная тема, там кодовой базой и не пахнет, ну разве что чуть-чуть
 

Цитата:
Идея собственных виджетов не кривая, её портит кривая реализация.

Да-да, то кино плохоё, то тапёр играть не умеет
 

Цитата:
GoldenDict или VirtualBox  

Отлично, но на фоне общей статистики эти 2 приложения (или даже 5) ничего не меняют

Всего записей: 767 | Зарегистр. 18-05-2009 | Отправлено: 17:08 13-05-2013 | Исправлено: Eternal_Shield, 17:11 13-05-2013
valgreesh



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

Цитата:
Ну, фреймфорки - это отдельная тема

Понятно же, что я не о фреймвоке непосредственно, а об идеологии собственных виджетов с мимикрией под целевую платформу.
 

Цитата:
Да-да, то кино плохоё, то тапёр играть не умеет  

Так реализация определяет все. Говняной реализацией можно изговнякать любую хорошую идею - а идея портабельного адаптируемого гуя хорошая.
 

Цитата:
Отлично, но на фоне общей статистики эти 2 приложения (или даже 5) ничего не меняют  

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

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 18:30 13-05-2013
zertyuiop



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Eternal_Shield
Кодовой базой здесь пахнет тогда (на примере Qt), когда используется единый компилятор (MinGW/GCC например). FM тоже фреймворк, но страшно кривой. Использование еще борландовского кода в современных версиях RAD Studio не позволяет создавать нормальные приложения для чего либо, кроме Windows. А сохранение совместимости кода плохо работает в современных версиях.
 
З.Ы. На линуксах все пишется на фреймворках, на Windows на Visual Studio и более старых версиях Delphi, на OS X безраздельно господствует Xcode. В этом свете попытки введения поддержки iOS выглядит нецелесообразно: это ниша Xcode. На Windows новые компиляторы не выдерживают конкуренции с Visual Studio, и даже с предыдущими версиями своих же компиляторов. Покопал недавно дистрибутив XE4: он имеет компоненты от 2007 версии. Если уж они инсталлятор не могут нормально сделать, что уж говорить о самой студии.
 
З.Ы.З.Ы. Без переписки студии с нуля с имеющимися доработками ни о какой нормальной поддержке платформ, отличных от Windows, говорить не приходится.

Всего записей: 350 | Зарегистр. 25-08-2012 | Отправлено: 18:55 13-05-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Свежая идея для ЭМРО:
 
* берем текущую кросс-платформенную RTL  
* покупаем JetBrains с их IDE и инструментами и выкидываем нафиг устаревший RAD Studio; ну или встраиваем нормальный рефакторинг и CodeCompletion в RAD Studio;
* делаем единый парсер и для IDE, и для CodeInsight, и для backend-компилятора; парсер сразу отдает компилятору текущий отпарсенный модуль, и компиляция получается быстрая;  
* "отодвигаем" FMX на роль "опционального" GUI фреймвока, и делаем нативный interop с платформами для поддержки нативного гуя (кому надо); нативный GUi обойдется без дизайнера - можно использовать нативные дизайнеры на платформе (Xcode/ ADK);
* делаем опциональным ARC для каждого юнита;
* придумываем как совместить различные строковые типы нормально, оставив и "старые" типы, и новые неизменяемые строки (а кому они нужны - ХЗ, лучше бы нативные NSString); дополняем систему типов нативными типами на платформе для облегчения interop;
* внимательно смотрим на инновации в языке от Oxygene (там много хорошего - типа дополнительно к .member есть и вызов :member, устойчивый к self=nil, лучше всего работает так "aObject:method1:property2:value3 <> 42" ну или inline getter/setter)
 
Ну как то так.  

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 08:59 14-05-2013
Eternal_Shield

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

Цитата:
Кодовой базой здесь пахнет тогда (на примере Qt), когда используется единый компилятор (MinGW/GCC например). FM тоже фреймворк, но страшно кривой. Использование еще борландовского кода в современных версиях RAD Studio не позволяет создавать нормальные приложения для чего либо, кроме Windows. А сохранение совместимости кода плохо работает в современных версиях.

Может быть, спорить не буду
 

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

Именно! А они тянут всё г*вно с D8 по сей день...
 
valgreesh

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

Именно ... как много хороших идей, которые получили "правильную" реализацию? Хотел бы услышать.
 
Что касается гуя.  Если можно использовать один и тот же гуй на N-платформах то, в принципе, это оч. удобно, согласен
 
Добавлено:
deks

Цитата:
Свежая идея для ЭМРО:

А Вы думаете Посейдон за "апрувит"? )

Всего записей: 767 | Зарегистр. 18-05-2009 | Отправлено: 09:04 14-05-2013 | Исправлено: Eternal_Shield, 09:05 14-05-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Eternal_Shield
 
Ну - к настроениям масс ЭМРО как то прислушивается. С Pro C/S бурление вызвало отказ от "хитрой" лицензионной политики, может и тут услышат. Щас вот по поводу строк многие высказываются - думаю, что то в этом направлении сделают!

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 09:15 14-05-2013
Arioch1



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

Цитата:
Что мне во всех этих изменениях не особо нравится так это отсутствие ассемблера

непросто это на кросс-процессорном LLVM
 

Цитата:
чтобы, например, TStringList, цука, был с интерфейсной частью

Jedi Code Library
 
но что у Дельфи неудобно - и наверное нельзя селать лучше - это нечёткий переход от объектов к интерфейсам.
 
TJclStringList.Create.Split('SourceString','S').Trim.Join(#13#10);
 
На вид все хорошо, но на самом деле после Create может случиться утечка.  
 

Цитата:
Смотрим на GoldenDict или VirtualBox - прекрасно выглядят и на виндах и на линуксах

 
А также Azureus/Vuze, Lotus Symphony и и прочие порождения Eclipse; Opera и Chrome; OpenOffice.org/LibreOffice
Потенциально - XMMS/WinAMP/AIMP
 
Кросс-платформный ГУЙ хорош, когда пользователю важнее программа, чем ОС, когда ему нужно чтобы программа вела себя везде одинаково, и ему плевать на какой ОС работать и какой у этой ОС стандартный вид и поведение.
Более того, часто такие программы осознанно плевать хотели на каноны ОС и форсят свое собственное, в корне отличное представление об интерфейсе.
 
В этих случаях программа не "плохо подражает нативным" а просто вещь в себе и плевать ей как тут на ОС заведено.
 
Но иногда пользователям нужна прогармма, выглядящая и ведущая себя "как обычно", даже если с точки зрения интерфейса это менее эффективно/удобно, зато думать не надо. И тогда эти фреймворки будут выглядеть аляповато, более того - они будут выглядеть тем хуже, чем лучше будут имитировать нативность (эффект Uncanny valley)

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:37 14-05-2013
Lena44



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

Цитата:
Что мне во всех этих изменениях не особо нравится так это отсутствие ассемблера  

 
В BCC64 оставили:
Ссылка

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 17:46 14-05-2013 | Исправлено: Lena44, 17:51 14-05-2013
zertyuiop



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks
Последнее время Embarcadero занимается коммерцией, а не разработкой студии. А про JetBrains это вы зря: попортят все достижения в области IntellijIDEA.

Всего записей: 350 | Зарегистр. 25-08-2012 | Отправлено: 17:59 14-05-2013
Eternal_Shield

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

Цитата:
Ну - к настроениям масс ЭМРО как то прислушивается. С Pro C/S бурление вызвало отказ от "хитрой" лицензионной политики, может и тут услышат. Щас вот по поводу строк многие высказываются - думаю, что то в этом направлении сделают!

Тогда надо составить список "must be implemented", запостить на фейсбуке, дать ссыль ем-ро и устроить флешмоб
 
Arioch1

Цитата:
Jedi Code Library

Ага, но всё это не то Самому можно написать лучше и этого дешевого монстра в проект не тащить
 

Цитата:
TJclStringList.Create.Split('SourceString','S').Trim.Join(#13#10);    На вид все хорошо, но на самом деле после Create может случиться утечка.  

Имхо, Delphi тут не причём. И на вид здесь всё печально, т.к. код эквивалентен:

Код:
 
a := TJclStringList.Create;
a.Split('SourceString','S').Trim.Join(#13#10);
 

Утечка 100%-ная. Вот если бы было что-то типа:

Код:
IJclStringList(TJclStringList.Create).Split('SourceString','S').Trim.Join(#13#10);

тогда все было ок. никаких утечек. Вот в таких случаях арка бы рулила.  
 
имхо, JCL весьма и весьма посредственная библиотека ... на троечку из 5.

Всего записей: 767 | Зарегистр. 18-05-2009 | Отправлено: 19:11 14-05-2013 | Исправлено: Eternal_Shield, 19:14 14-05-2013
valgreesh



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

Цитата:
Именно ... как много хороших идей, которые получили "правильную" реализацию?  Хотел бы услышать.

Идей вообще или в области гуестроения? За вообще говорить не возьмусь, но в области гуестроения это TurboVision, VCL, LCL, Qt. Ни одна не идеальная, но для FMX такое качество - недостижимые высоты, увы. А вообще, для гуя есть много чего интересного делающегося одиночками, HtmlLayout например.
 
Arioch1

Цитата:
А также Azureus/Vuze, Lotus Symphony и и прочие порождения Eclipse; Opera и Chrome; OpenOffice.org/LibreOffice  

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

Цитата:
И тогда эти фреймворки будут выглядеть аляповато, более того - они будут выглядеть тем хуже, чем лучше будут имитировать нативность (эффект Uncanny valley)

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

Всего записей: 292 | Зарегистр. 30-11-2011 | Отправлено: 19:34 14-05-2013
delover

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

Цитата:
имхо, JCL весьма и весьма посредственная библиотека ... на троечку из 5.

JCL - луковица, жаль что вы не усекли, конечно, но простительно. JCL состоит исключительно из Мастеров кода и обязательно юный ресеарч. У вас конкретно есть нарицания к PeImage.TryGetNamesForOrdinalImports???
Или к TJclPeMapImgHooks.HookImport???  
Или к TUnicodeStringList???
Или JclLastExceptStackListToStrings совсем негодный - без жирного шрифта?
Списка патентов нет, но они первые сколько себя помню - в этих вопросах.

Цитата:
на троечку

А надо на пятёрку?

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 20:53 14-05-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Зацените нативный interop с платформой: _http://www.kuagen.info/2013/05/xe4-firemonkey-on-ios-prevent-sleep-mode.html?utm_source=twitterfeed&utm_medium=twitter
 
Я офигел от очевидности решения! Это ж на каждый чих нужно узнавать у гуру как добраться к "абстрагированной" платформенной фиче!! Имхо, не рабочая ситуация..

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 20:57 14-05-2013
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Думаю XE4 тоже тормазнутая. В системе 64 бит вызов 32 бит Windows.CompareStringW для PWideChar тормознутый очень. Легче в приложении сделать уникод и отдать. Иногда можно сэкономить минуту.
 
Добавлено:
Eternal_Shield
Если запостите плиз скопипасте в личку, могу забыть.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 21:01 14-05-2013
LadyOfWood

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

Цитата:
* делаем единый парсер и для IDE, и для CodeInsight, и для backend-компилятора; парсер сразу отдает компилятору текущий отпарсенный модуль, и компиляция получается быстрая;

Надо сказать что компиляция и сечас очень шустрая.

Цитата:
выкидываем нафиг устаревший RAD Studio; ну или встраиваем нормальный рефакторинг и CodeCompletion в RAD Studio;

+1, RAD Studio тормозит очень сильно, особенно в сравнении с VS.
PS. Мы тут конечно можем много идей понапридумывать, но кто нас случашть будет вот в чем вопрос.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 22:43 14-05-2013
SolidSnakeRU

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если они даже клиентов не слушают и бросают песок в глаза)
 

Цитата:
Начните разработку революционно-новых приложений для iOS, Windows и Mac.
RAD Studio XE4 – пакетное решения для разработки истинно нативных высокопроизводительных приложений для различных устройств, включая ПК, планшеты и смартфоны.

Всего записей: 248 | Зарегистр. 27-08-2008 | Отправлено: 22:48 14-05-2013 | Исправлено: SolidSnakeRU, 22:52 14-05-2013
Arioch1



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

Цитата:
понятие Зловещей долины относящейся к эмоциональным аспектам робототехники

оно относится не только к роботехнике - смотри например легенды об оборотнях и вампирах и подменышах.
и не только про человекообразных - возьми ужастики, про миленькую собачку из которой или тентакли полезут или еще что.
 
Проблема появляется когда что-то выглядит родным и привычным, но ведёт себя "не по правилам."
 
Тут уже был гуру Фотошопа, которы обещал за пару часов сделать MacOS интерфейс на FMX - и таки "внешний вид" он более-менее повторил. А вот поведение - не смог. А именно это сочетание чужеродного действия под прикрытием привычной каринки и лишает уверенности и комфорта.
 

Цитата:
 a := TJclStringList.Create;  a.Split('SourceString','S').Trim.Join(#13#10);     Утечка 100%-ная.  

Зависит от типа переменной, при правильном типе утечки нет
 
 

Цитата:
Вот если бы было что-то типа:  Код: IJclStringList(TJclStringList.Create).Split('SourceString','S').Trim.Join(#13#10);

Там есть глобальная функция, возвращающая новый объект через интерфейс.
Я же лично предпочитаю делать класс с непубличным конструктором и классовой функцией "New: Ixxxx"
 
Но дело как раз в том, что JclStringList имитирует TStringList и потому создание через конструктор выглядит естественным и правильным. Чтобы можно было просто подставить в не-ARC код вместо штатного.
 

Цитата:
имхо, JCL весьма и весьма посредственная библиотека ... на троечку из 5.

Там где нужно на 5 - можно и переписать. Предпочитаю иметь широкий набор удовлетворительных инструментов, чем разговоры об идеальном, который мжет быть кто-нибуь напишет, выложит и не забросит
 
 
 
Добавлено:

Цитата:
Я офигел от очевидности решения! Это ж на каждый чих нужно узнавать у гуру как добраться к "абстрагированной" платформенной фиче!!

 
Давай надеяться, что метод "как добраться" будет везде один и тот же, и не ради нас сирых, а просто потому что так писать удобнее.
 
Взять тот же VCL - такие методы как Perform, RecreateWnd тоже не очивидны и в MSDN не прописаны. Но к ним в конце концов привыкли, как к особенности библиотеки, и вопросов не задаём.  
 
Добавлено:

Цитата:
Имхо, Delphi тут не причём.

Как это не при чём? Дельфи позволяет написать и (даже без ворнингов!) скопилировать принципиально опасный код. Это было бы нормально для "ассемблера" С++, но это не хорошо для Паскаля, который "не позволяет прострелить себе ногу"
 
Так что это - недостаток языка, как ни крути. Другой вопрос, что как это можно бы было исправить, не ломая совместимости? Впрочем, теперь уже не важно.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 23:19 14-05-2013 | Исправлено: Arioch1, 23:21 14-05-2013
sergionn

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks
Цитата:
 Имхо, не рабочая ситуация..

Arioch1
Цитата:
Давай надеяться, что метод "как добраться" будет везде один и тот же

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

Цитата:
Если они даже клиентов не слушают и бросают песок в глаза)  

ага и для гугле-роботов баллады найдутся:
_https://forums.embarcadero.com/thread.jspa?messageID=562518&#562518
_https://forums.embarcadero.com/thread.jspa?threadID=87275&tstart=15

Всего записей: 472 | Зарегистр. 02-11-2011 | Отправлено: 00:22 15-05-2013 | Исправлено: sergionn, 00:23 15-05-2013
Arioch1



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

Цитата:
не выглядят нативными, в отличии от двух названных мною.

GoldenDict у меня нету, а вот на счёт того, что VirtualBox выглядит нативным...
 
Во-первых он - с точки зрения GUI - намного более ограничен и соотв. его задача проще.
 
Тем не менее, правая часть окна мне не кажется "родной", ни сами кнопки Детали/Снимки, ни красивые "рамочки" деталей.  
В окне Справка / О Программе нет кнопки ОК, на манер древних Mac OS Classic.
То же про  Справка\Менеджер сетевых операций.
 
Далее, комбо-бокс - http://savepic.ru/4554187.png - обрезает нижние строки.
 
Кстати, а зачем там комбо-бокс ? И зачем те самые кнопки  Детали/Снимки ?
Где-то я слышал, что в Qt нет стандартных радиокнопок, надо или ставить сторонние библиотеки, либо для чекбоксов руками делать поведение радиокнопок. Не знаю, насколько эта инфа актуальна, но я нашел в VB только оодно место с радиокнопками: настройки VB, проверка обновлений. И больше нигде.
Программа, которая выпендривается то так, то этак лишь бы не использовать радиокнопки - это на винде не вылядит нативно уж никак.
 
Стиль картинок тоже явно не виндовый, хотя этот пример скорее не к огреничениям фреймворков, а к идеологии "нам наплевать как там у вас на винде, лишь бы наша программа выглядела одинаково на любой ОСи"
 
У меня нет претензий к интерфейсу VirtualBox - он работает и, после некоторого привыкания, внутренне логичен. Но называть это нативной программой ? Для меня каждый раз, когда я его запускаю, ощущается его "инопланетность".

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 00:50 15-05-2013 | Исправлено: Arioch1, 01:02 15-05-2013
delover

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

Цитата:
но это не хорошо для Паскаля, который "не позволяет прострелить себе ногу"

Кажись нога из языка Си выросла - другая это нога.
 
!!! Кто вам сказал что юзеры VirtualBox используют ARC или как там по научному? DosBox они не знают оно им не надо. Про W и A и уникод не пишите плиз, пока Windows не решит нормал функциии сделать (хотябы в 64)

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 00:53 15-05-2013 | Исправлено: delover, 01:05 15-05-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru