Сообщение Re[49]: msbuild поверх xml - была плохая идея? от 03.12.2023 12:36
Изменено 04.12.2023 7:32 Serginio1
Re[49]: msbuild поверх xml - была плохая идея?
Здравствуйте, ·, Вы писали:
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Это ты отстаёшь. Этой статье 5 лет. Сейчас уже java 11 повсеместно. И 17 местами.
S>>Во во. А какая последняя? 21. Ну вот хочется то 21, но нужно поддерживать 11 и minSdk 19, так как нужно поддерживать разные версии андроидов.
S>>Опять же на разных версиях андроида и различные вызовы (if(Build.VERSION.SDK_INT >= ). Но мы можем иметь несколько версий проектов под разные платформы.
S>>В большинстве случаев используются разные проекты, но с единым набором файлов. Там, где нельзя в каких то местах использовать 21, просто пишется #ifdef
·>#ifdef означает, что тебе придётся хостить десяток вариантов бинарей и перевытягивать их всех при любом изменении версии платформы. И это из-за разницы в нескольких строках кода.
Да. Но например для отладки мне это не надо. Но так или иначе мне и так нужно компилить под разные платформв.
Это и Виндовс, и андроид и IOS Win xp.
S>> Мало того, та же графика на винде, андроиде и линкусе разная. Есть кроссплатформенные библиотеки, но на них отображаются те же шрифты сильно по разному.
S>>Ну и прочие нюансы отображения.
S>> Вот почему графика на Java на винде это вырви глаз.
·>Зависит от приложения. Скачай какой-нибдуь Jetbrains — где там что не так?
А есть Jetbrains под Android, IOS
На самом деле я пользуюсь Анроид студией и после VS как на 10 лет назад очутился.
S>>В основном код общий, но вызов отрисовки немного различный и можно привести максимально близкое отображение.
S>>И здесь помогает условная компиляция.
·>Не единственно верное решение. В java просто делаются разные имплементации и используются разные зависимости.
Во во. То есть различные библиотеки которые нужно по разному компилить. И возвращаемся к условной компиляции
S>> Я её применяю постоянно! В винде тоже зоопарк. Начиная от компакт фреймворк, штуки 4 основных фреймворка. Ну и .Net Core
S>>В большинстве случаев код одинаковый, но есть нюансы. И вот здесь #ifdef в помощь.
·>Могу только посочувствовать.
Ну и Java тоже зоопарк. Код написаный для Андроида не запустится на Винде или IOS.
Мне вот интересно, что ты пишешь огромные простыни, на то, что по сути выеденного яйца не нужно для обсуждения.
Если, что то существует значит оно нужно и им пользуются. Если тебе это не нужно, не значит, что другим это не надо.
Про условную компиляцию добавлю, что я пишу код на последней версии C#. Если этот код не подходит для других платформ то смотрю, сколько мне нужно кода менять, и вероятность изменения этого кода. Тогда либо дроблю файлы, либо использую условную компиляцию.
Условная компиляция хороша тем, что я все меняю в одном месте, а не как иногда бывает в 4 местах.
Ну и #if DEBUG тоже помогает не менять файлы.
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Это ты отстаёшь. Этой статье 5 лет. Сейчас уже java 11 повсеместно. И 17 местами.
S>>Во во. А какая последняя? 21. Ну вот хочется то 21, но нужно поддерживать 11 и minSdk 19, так как нужно поддерживать разные версии андроидов.
S>>Опять же на разных версиях андроида и различные вызовы (if(Build.VERSION.SDK_INT >= ). Но мы можем иметь несколько версий проектов под разные платформы.
S>>В большинстве случаев используются разные проекты, но с единым набором файлов. Там, где нельзя в каких то местах использовать 21, просто пишется #ifdef
·>#ifdef означает, что тебе придётся хостить десяток вариантов бинарей и перевытягивать их всех при любом изменении версии платформы. И это из-за разницы в нескольких строках кода.
Да. Но например для отладки мне это не надо. Но так или иначе мне и так нужно компилить под разные платформв.
Это и Виндовс, и андроид и IOS Win xp.
S>> Мало того, та же графика на винде, андроиде и линкусе разная. Есть кроссплатформенные библиотеки, но на них отображаются те же шрифты сильно по разному.
S>>Ну и прочие нюансы отображения.
S>> Вот почему графика на Java на винде это вырви глаз.
·>Зависит от приложения. Скачай какой-нибдуь Jetbrains — где там что не так?
А есть Jetbrains под Android, IOS
На самом деле я пользуюсь Анроид студией и после VS как на 10 лет назад очутился.
S>>В основном код общий, но вызов отрисовки немного различный и можно привести максимально близкое отображение.
S>>И здесь помогает условная компиляция.
·>Не единственно верное решение. В java просто делаются разные имплементации и используются разные зависимости.
Во во. То есть различные библиотеки которые нужно по разному компилить. И возвращаемся к условной компиляции
S>> Я её применяю постоянно! В винде тоже зоопарк. Начиная от компакт фреймворк, штуки 4 основных фреймворка. Ну и .Net Core
S>>В большинстве случаев код одинаковый, но есть нюансы. И вот здесь #ifdef в помощь.
·>Могу только посочувствовать.
Ну и Java тоже зоопарк. Код написаный для Андроида не запустится на Винде или IOS.
Мне вот интересно, что ты пишешь огромные простыни, на то, что по сути выеденного яйца не нужно для обсуждения.
Если, что то существует значит оно нужно и им пользуются. Если тебе это не нужно, не значит, что другим это не надо.
Про условную компиляцию добавлю, что я пишу код на последней версии C#. Если этот код не подходит для других платформ то смотрю, сколько мне нужно кода менять, и вероятность изменения этого кода. Тогда либо дроблю файлы, либо использую условную компиляцию.
Условная компиляция хороша тем, что я все меняю в одном месте, а не как иногда бывает в 4 местах.
Ну и #if DEBUG тоже помогает не менять файлы.
Re[49]: msbuild поверх xml - была плохая идея?
Здравствуйте, ·, Вы писали:
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Это ты отстаёшь. Этой статье 5 лет. Сейчас уже java 11 повсеместно. И 17 местами.
S>>Во во. А какая последняя? 21. Ну вот хочется то 21, но нужно поддерживать 11 и minSdk 19, так как нужно поддерживать разные версии андроидов.
S>>Опять же на разных версиях андроида и различные вызовы (if(Build.VERSION.SDK_INT >= ). Но мы можем иметь несколько версий проектов под разные платформы.
S>>В большинстве случаев используются разные проекты, но с единым набором файлов. Там, где нельзя в каких то местах использовать 21, просто пишется #ifdef
·>#ifdef означает, что тебе придётся хостить десяток вариантов бинарей и перевытягивать их всех при любом изменении версии платформы. И это из-за разницы в нескольких строках кода.
Вопрос, что ты имеешь ввиду под версией платформы?
Например для андроида и сервера это разные проекты, но есть одни и те же файлы. Это модели и прочие утилиты. Для IOS тоже надо делать нативные проекты.
Для разного набора мин и макс версий андроида тоже. #ifdef говорит, что этот код только для конкретной платформы. В если я его поменял только для этой платформы, то компилить для других не надо. А если общий код, то конечно надо.
Конечно есть ньансы, когда надо, что то заменить через рефакторинг, то прочие #ifdef студия не видит.
S>> Мало того, та же графика на винде, андроиде и линкусе разная. Есть кроссплатформенные библиотеки, но на них отображаются те же шрифты сильно по разному.
S>>Ну и прочие нюансы отображения.
S>> Вот почему графика на Java на винде это вырви глаз.
·>Зависит от приложения. Скачай какой-нибдуь Jetbrains — где там что не так?
А есть Jetbrains под Android, IOS
На самом деле я пользуюсь Анроид студией и после VS как на 10 лет назад очутился.
S>>В основном код общий, но вызов отрисовки немного различный и можно привести максимально близкое отображение.
S>>И здесь помогает условная компиляция.
·>Не единственно верное решение. В java просто делаются разные имплементации и используются разные зависимости.
Во во. То есть различные библиотеки которые нужно по разному компилить. И возвращаемся к условной компиляции
S>> Я её применяю постоянно! В винде тоже зоопарк. Начиная от компакт фреймворк, штуки 4 основных фреймворка. Ну и .Net Core
S>>В большинстве случаев код одинаковый, но есть нюансы. И вот здесь #ifdef в помощь.
·>Могу только посочувствовать.
Ну и Java тоже зоопарк. Код написаный для Андроида не запустится на Винде или IOS.
Мне вот интересно, что ты пишешь огромные простыни, на то, что по сути выеденного яйца не нужно для обсуждения.
Если, что то существует значит оно нужно и им пользуются. Если тебе это не нужно, не значит, что другим это не надо.
Про условную компиляцию добавлю, что я пишу код на последней версии C#. Если этот код не подходит для других платформ то смотрю, сколько мне нужно кода менять, и вероятность изменения этого кода. Тогда либо дроблю файлы, либо использую условную компиляцию.
Условная компиляция хороша тем, что я все меняю в одном месте, а не как иногда бывает в 4 местах.
Ну и #if DEBUG тоже помогает не менять файлы.
·>Здравствуйте, Serginio1, Вы писали:
S>>·>Это ты отстаёшь. Этой статье 5 лет. Сейчас уже java 11 повсеместно. И 17 местами.
S>>Во во. А какая последняя? 21. Ну вот хочется то 21, но нужно поддерживать 11 и minSdk 19, так как нужно поддерживать разные версии андроидов.
S>>Опять же на разных версиях андроида и различные вызовы (if(Build.VERSION.SDK_INT >= ). Но мы можем иметь несколько версий проектов под разные платформы.
S>>В большинстве случаев используются разные проекты, но с единым набором файлов. Там, где нельзя в каких то местах использовать 21, просто пишется #ifdef
·>#ifdef означает, что тебе придётся хостить десяток вариантов бинарей и перевытягивать их всех при любом изменении версии платформы. И это из-за разницы в нескольких строках кода.
Вопрос, что ты имеешь ввиду под версией платформы?
Например для андроида и сервера это разные проекты, но есть одни и те же файлы. Это модели и прочие утилиты. Для IOS тоже надо делать нативные проекты.
Для разного набора мин и макс версий андроида тоже. #ifdef говорит, что этот код только для конкретной платформы. В если я его поменял только для этой платформы, то компилить для других не надо. А если общий код, то конечно надо.
Конечно есть ньансы, когда надо, что то заменить через рефакторинг, то прочие #ifdef студия не видит.
S>> Мало того, та же графика на винде, андроиде и линкусе разная. Есть кроссплатформенные библиотеки, но на них отображаются те же шрифты сильно по разному.
S>>Ну и прочие нюансы отображения.
S>> Вот почему графика на Java на винде это вырви глаз.
·>Зависит от приложения. Скачай какой-нибдуь Jetbrains — где там что не так?
А есть Jetbrains под Android, IOS
На самом деле я пользуюсь Анроид студией и после VS как на 10 лет назад очутился.
S>>В основном код общий, но вызов отрисовки немного различный и можно привести максимально близкое отображение.
S>>И здесь помогает условная компиляция.
·>Не единственно верное решение. В java просто делаются разные имплементации и используются разные зависимости.
Во во. То есть различные библиотеки которые нужно по разному компилить. И возвращаемся к условной компиляции
S>> Я её применяю постоянно! В винде тоже зоопарк. Начиная от компакт фреймворк, штуки 4 основных фреймворка. Ну и .Net Core
S>>В большинстве случаев код одинаковый, но есть нюансы. И вот здесь #ifdef в помощь.
·>Могу только посочувствовать.
Ну и Java тоже зоопарк. Код написаный для Андроида не запустится на Винде или IOS.
Мне вот интересно, что ты пишешь огромные простыни, на то, что по сути выеденного яйца не нужно для обсуждения.
Если, что то существует значит оно нужно и им пользуются. Если тебе это не нужно, не значит, что другим это не надо.
Про условную компиляцию добавлю, что я пишу код на последней версии C#. Если этот код не подходит для других платформ то смотрю, сколько мне нужно кода менять, и вероятность изменения этого кода. Тогда либо дроблю файлы, либо использую условную компиляцию.
Условная компиляция хороша тем, что я все меняю в одном месте, а не как иногда бывает в 4 местах.
Ну и #if DEBUG тоже помогает не менять файлы.