Мне просто не нравится (СИЛЬНО) технология колбеков от которых нельзя избавиться. И тот факт что вся графика (все окна одновременно) находятся в одном потоке. Нельзя как в Win "заморозить" одно окно пока не закроется другое не нарезая процедуру до показа окна и после на "колбеки/реакции". Нажал "покажи меню", дождись кнопки и "ветвИ" логику превращается в десяток независимых путанных процедур. Захотел показать ползунок в процессе работы - дождись окончания процедуры или выводи ее в параллельный поток с блокировкой всех кнопок. Захотел вывести "отладочный" лог на экран - только после окончания полной обработки или в поток. А если кнопок больше 10, а если они плодятся как кролики и проконтролировать их блокировку это работа на целую процедуру в несколько страниц кода с полным перебором кнопок. Раньше часто подобным пользовался в нескольких языках (делфи, 1С). И даже если перепишу свою реализацию окон(например 3 "оконных" прямоугольника с кнопками на картинке), то не особо представляю как это упростить. Офисным программам обычно такая сложность (колбеки) не нужна(даже вредит). Часто требуется быстро модифицировать одну большую ("базовую") процедуру обработки.
Сейчас пишу некое подобие "движка" для офисной логики - заполняемые формы на андроиде скидываемые на сервер. Синхронизациябаз с сервером для оффлайн работы (затягивание десятка таблиц) . И постоянно спотыкаюсь на колбеках. Привык разносить логику и графику по разным модулям(там красивые окошешки, стили скинов, кнопочки, панельки, а рядом глобальные обработчики повешеные на те кнопочки одной процедурой), а здесь они получаются сильно склееными и взаимопересекающимимся... Не разделить...
В теории круто конечно если будет поддержка многопоточности на уровне ядра, сильно ускорит работу на многоядерных, но пока... сильно бесит и усложняет работу!
Подскажите (или дайте ссылки на статьи), чем отличается кодинг под андроид на си++ от явы? Преимущества, недостатки... Не сложность языка или инструментария, а ограничения конструкций и доступы к API. Раньше знаю ява был базовым и на си можно было делать лишь пару функций, но теперь вроде (после NDK) функционал С++ сравнялся или даже превзошел. Так ли это?
0
|