Информация об изменениях

Сообщение Re[8]: На чем бы вы писали десктопную прогу для Linux? от 17.04.2020 14:52

Изменено 17.04.2020 15:07 AlexGin

Re[8]: На чем бы вы писали десктопную прогу для Linux?
Здравствуйте, Ikemefula, Вы писали:

I>Какая доля луноходов в общей массе?


Большая, если твой дом на Луне...

AG>>Нативная то идёт быстрее, но это если перед тобой — прямая дорога. Проторенная тысячами путников.


I>Именно! Но судя по тому, что ниже, ты не понимаешь экономику кроссплатформенного проекта.


...я никогда и не искал вакансию экономиста...

I>Экономишь время исключительно за счет:

I>1 бизнес-логики — никаких сложностей нет, т.к. от платформы не зависит.
+100500
I>2 базовых функций нативных платформ, типа открыть-прочитать файл
+100500
I>Исключительно эта часть у тебя будет в одном экземпляре.
Эта часть — да в одном.

I>Всё остальное — по числу платформ и это в лучшем случае, т.к. могут быть нюансы, по нескольку версий в зависимости от возможностей какого нибудь иос.


Ну здесь не совсем так:
a) При разработках на C++ Qt5 для Windows/Linux львиная доля окошек (ну скажем — обычных окон) — также один экземпляр.
b) Те же многопоточные решения — закрываются на Qt и не требуют от меня копания в потоках исполнения конкретной OS.
c) Для всяких там iOS не в курсе, ими не занимался.

AG>>Если будет шаг влево/вправо — то придется искать обходные пути (и зачастую довольно длинные)


I> Именно это тебя ждет и в кроссплатформенной версии.

I>Например, ты выяснил, что тебе нужен X, который в Маке иначе как стоя раком не запустишь.
...уже упоминал, что на Маке ничего не делаем...

I>Ты наверное ждешь, что кроссплатформенный фремворк весь из себя идеальный, и в ём магическим образом сделали X

Про идеальный — никто и не говорит. Просто — достаточно хороший (в меру качественный).

I>Вот пример — писали прогу на 4 платформы. Использовали сторадж, который работал везде хорошо, кроме одной из платформ.

I>Как побороть? Нативныйм кодом. А теперь выясняется, что этот же сторадж, кроме как раком завести не получается.
I>Что делать ? Нашли другую реализацию. Теперь дело за малым — во всех платформах реалализовать новый вариант.
I>Оказалось, что во всех платформах для нового движка структура АПИ отличается — файловое апи, стримы, база данных и хрен знает что.
I>Теперь кроме адаптации, надо написать слой, который дает универсальное АПИ, что бы BL была действительно кроссплатформенной.

Выше описана проблема архитектуры — что надо было выносить на уровень business logic, а что оставить в "реализационно-техническом слое".

I>Итого — по скромной оценке в 4 раза больше работы, чем для нативных вариантов. 3 раза сделали ненужную работу, 1 раз нужную + слой для кроссплатформенности.


Вопрос в другом: что это за прога и насколько адекветные (для этой задачи) разработчики?

I>А в теории надо бы добавить недостающую платформу.

...
Вот тут-то и думается, что книга GoF и другие книжки по паттернам проектирования — обязаны быть нашей настольной литературой.
Да, и с книгами Александреску дружить нужно!
Это очень важно для любых разработок, даже если пишем всё для одной платформы.

I>Что это за стек такой?


Технологические программы, управление в специализированных системах, расчёты и моделирование.
Ранее я много занимался SCADA и MES системами (это отдельное направление).
В общем, там где применение C++ сам Бог послал.
Re[8]: На чем бы вы писали десктопную прогу для Linux?
Здравствуйте, Ikemefula, Вы писали:

I>Какая доля луноходов в общей массе?


Большая, если твой дом на Луне...

AG>>Нативная то идёт быстрее, но это если перед тобой — прямая дорога. Проторенная тысячами путников.


I>Именно! Но судя по тому, что ниже, ты не понимаешь экономику кроссплатформенного проекта.


...я никогда и не искал вакансию экономиста...

I>Экономишь время исключительно за счет:

I>1 бизнес-логики — никаких сложностей нет, т.к. от платформы не зависит.
+100500
I>2 базовых функций нативных платформ, типа открыть-прочитать файл
+100500
I>Исключительно эта часть у тебя будет в одном экземпляре.
Эта часть — да в одном.

I>Всё остальное — по числу платформ и это в лучшем случае, т.к. могут быть нюансы, по нескольку версий в зависимости от возможностей какого нибудь иос.


Ну здесь не совсем так:
a) При разработках на C++ Qt5 для Windows/Linux львиная доля окошек (ну скажем — обычных окон) — также один экземпляр.
b) Те же многопоточные решения — закрываются на Qt и не требуют от меня копания в потоках исполнения конкретной OS.
c) Для всяких там iOS не в курсе, ими не занимался.

AG>>Если будет шаг влево/вправо — то придется искать обходные пути (и зачастую довольно длинные)


I> Именно это тебя ждет и в кроссплатформенной версии.

I>Например, ты выяснил, что тебе нужен X, который в Маке иначе как стоя раком не запустишь.
...уже упоминал, что на Маке ничего не делаем...

I>Ты наверное ждешь, что кроссплатформенный фремворк весь из себя идеальный, и в ём магическим образом сделали X

Про идеальный — никто и не говорит. Просто — достаточно хороший (в меру качественный).

I>Вот пример — писали прогу на 4 платформы. Использовали сторадж, который работал везде хорошо, кроме одной из платформ.

I>Как побороть? Нативныйм кодом. А теперь выясняется, что этот же сторадж, кроме как раком завести не получается.
I>Что делать ? Нашли другую реализацию. Теперь дело за малым — во всех платформах реалализовать новый вариант.
I>Оказалось, что во всех платформах для нового движка структура АПИ отличается — файловое апи, стримы, база данных и хрен знает что.
I>Теперь кроме адаптации, надо написать слой, который дает универсальное АПИ, что бы BL была действительно кроссплатформенной.

Выше описана проблема архитектуры — что надо было выносить на уровень business logic, а что оставить в "реализационно-техническом слое".

I>Итого — по скромной оценке в 4 раза больше работы, чем для нативных вариантов. 3 раза сделали ненужную работу, 1 раз нужную + слой для кроссплатформенности.


Тут вопрос в другом: что это за прога и насколько адекватные (для этой задачи) были её разработчики?

I>А в теории надо бы добавить недостающую платформу.

А в практике — хорошо продумать архитектуру проекта, чтобы потом не ломать...

Вот тут-то и думается, что книга GoF и другие книжки по паттернам проектирования — обязаны быть нашей настольной литературой.
Да, и с книгами Александреску дружить нужно!
Это очень важно для любых разработок, даже если пишем всё для одной платформы.

I>Что это за стек такой?


Технологические программы, управление в специализированных системах, расчёты и моделирование.
Ранее я много занимался SCADA и MES системами (это отдельное направление).
В общем, там где применение C++ сам Бог послал.