🚀 YDX | WinUI 3 — Фундамент готов
Windows-версия готова. Начинал на WPF — столкнулся с миганиями, тормозами и вечной борьбой с рендерингом. Понял, что выиграть эту битву не выйдет, переписал всё на WinUI 3. Костыли остались, но то, что на WPF было нерешаемо, на WinUI 3 хотя бы работает.
🧠 Rust Core
- Вся логика в Rust.
- WinUI 3 — тонкий UI.
- Архитектура — MVVM.
🪟 Навигация
- Гость (
- Плавная смена страниц с анимацией.
🔐 Безопасность | Windows Credential Manager
- Токены в защищенном хранилище.
- Проверка токена на сервере.
🎨 UI | WinUI 3
- Валидация форм с динамическими ошибками.
- Темная и светлая тема.
- Кастомные диалоги (About, Confirm).
- Языки EN, RU, ZH.
📦 Стек
- Rust + C# + WinUI 3.
🔗 https://gitcode.com/keygenqt_vz/ydx
Windows-версия готова. Начинал на WPF — столкнулся с миганиями, тормозами и вечной борьбой с рендерингом. Понял, что выиграть эту битву не выйдет, переписал всё на WinUI 3. Костыли остались, но то, что на WPF было нерешаемо, на WinUI 3 хотя бы работает.
🧠 Rust Core
- Вся логика в Rust.
- WinUI 3 — тонкий UI.
- Архитектура — MVVM.
🪟 Навигация
- Гость (
Welcome → SignIn → SignUp) и Пользователь (Home).- Плавная смена страниц с анимацией.
🔐 Безопасность | Windows Credential Manager
- Токены в защищенном хранилище.
- Проверка токена на сервере.
🎨 UI | WinUI 3
- Валидация форм с динамическими ошибками.
- Темная и светлая тема.
- Кастомные диалоги (About, Confirm).
- Языки EN, RU, ZH.
📦 Стек
- Rust + C# + WinUI 3.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2🥱1
Идеальное приложение.
Начиная новый проект, вам всегда предстоит выбрать для него стек технологий. Обычно он ограничен задачами и навыками. Например, если вы знаете Kotlin — вы берёте Kotlin, если Swift — тянете его везде, если C++ — лучше даже не начинайте, если только вы не мазохист.
Но что, если для вас нет ограничений и вы хотите создать «идеальное приложение»? Вы можете выбрать любой стек на ваше усмотрение, а задачи и сроки вас не сдерживают. Какой стек вам покажется идеальным? Неужели Qt, KMP, Flutter, MAUI и прочее?
Когда пользователь открывает приложение и оно не реагирует на смену темы на вашей платформе, контролы из другого мира, нестандартные скроллбары, которые не живут там, где ожидаешь, — всё это мгновенно выдаёт «пришельца». Такое приложение заставляет пользователя подстраиваться под себя, вместо того чтобы вписаться в привычное окружение.
Платформ много, а если вы простой бизнесмен — ваш выбор прост: одна команда на каком-нибудь кроссплатформенном фреймворке, покрывающая максимальное количество популярных платформ. Вам нужно приложение не самое лучшее, а получить максимальный баланс между ценой и качеством. Ну не будет у вас приложения на HarmonyOS — да и ладно, не больно-то и надо (да и что это вообще за OHOS?). Но если у вас уже компания, ценящая своё приложение и пытающаяся в конкуренцию — тут выбор уже не так однозначен, и он не в пользу кроссплатформы.
Идеальное приложение — это приложение, написанное под платформу. Оно не заставляет пользователя гадать, как его закрыть, где искать настройки или почему оно ведёт себя не так, как все остальные программы. Оно живёт по правилам системы, а не создаёт свои. Создаёт у пользователя ощущение, что над приложением работали, а не сделали на скорую руку.
Если у нас большая компания и мы пишем какой-нибудь IMAX. У нас много конкурентов, которые давно на этом рынке — что мы можем предложить? Может быть, скорость и нативный экспириенс под все платформы? Да, это бы отличало приложение от многих других. Сложно ли это? Нужна ли под каждую платформу целая команда? Будут ли приложения дублировать бизнес-логику?
На все эти вопросы уже отвечает приложение YDX, разрабатываемое после работы, в одиночку. Мне не сложно, команда не нужна, бизнес-логика одна для всех платформ ;)
Начиная новый проект, вам всегда предстоит выбрать для него стек технологий. Обычно он ограничен задачами и навыками. Например, если вы знаете Kotlin — вы берёте Kotlin, если Swift — тянете его везде, если C++ — лучше даже не начинайте, если только вы не мазохист.
Но что, если для вас нет ограничений и вы хотите создать «идеальное приложение»? Вы можете выбрать любой стек на ваше усмотрение, а задачи и сроки вас не сдерживают. Какой стек вам покажется идеальным? Неужели Qt, KMP, Flutter, MAUI и прочее?
Когда пользователь открывает приложение и оно не реагирует на смену темы на вашей платформе, контролы из другого мира, нестандартные скроллбары, которые не живут там, где ожидаешь, — всё это мгновенно выдаёт «пришельца». Такое приложение заставляет пользователя подстраиваться под себя, вместо того чтобы вписаться в привычное окружение.
Платформ много, а если вы простой бизнесмен — ваш выбор прост: одна команда на каком-нибудь кроссплатформенном фреймворке, покрывающая максимальное количество популярных платформ. Вам нужно приложение не самое лучшее, а получить максимальный баланс между ценой и качеством. Ну не будет у вас приложения на HarmonyOS — да и ладно, не больно-то и надо (да и что это вообще за OHOS?). Но если у вас уже компания, ценящая своё приложение и пытающаяся в конкуренцию — тут выбор уже не так однозначен, и он не в пользу кроссплатформы.
Идеальное приложение — это приложение, написанное под платформу. Оно не заставляет пользователя гадать, как его закрыть, где искать настройки или почему оно ведёт себя не так, как все остальные программы. Оно живёт по правилам системы, а не создаёт свои. Создаёт у пользователя ощущение, что над приложением работали, а не сделали на скорую руку.
Если у нас большая компания и мы пишем какой-нибудь IMAX. У нас много конкурентов, которые давно на этом рынке — что мы можем предложить? Может быть, скорость и нативный экспириенс под все платформы? Да, это бы отличало приложение от многих других. Сложно ли это? Нужна ли под каждую платформу целая команда? Будут ли приложения дублировать бизнес-логику?
На все эти вопросы уже отвечает приложение YDX, разрабатываемое после работы, в одиночку. Мне не сложно, команда не нужна, бизнес-логика одна для всех платформ ;)
👍4❤2🔥1
Надеюсь, доживу до вакансий "Multiplatform Engineer", а не бесконечных "Android разработчик" и "iOS разработчик". (Вакансия шуточная, вдруг ещё такие найдутся 😁)
ВАКАНСИЯ: Multiplatform Engineer
Требуется:
Языки:
- Rust (чтобы core не падал)
- Swift (чтобы Apple нас любили)
- Kotlin (Google же попросил)
- C# (Windows без WPF/WinUI — не Windows)
- C++ (Qt — это классика, куда без неё)
- ArkTS (HarmonyOS — потому что можем)
- JavaScript (GTK под Linux, ну и веб тоже надо)
- Английский, Русский, Китайский (локализацию писать)
Фреймворки:
- SwiftUI (macOS, iOS — красиво)
- WinUI 3 (Windows 11 — нативно)
- GTK (Linux — без сюрпризов)
- Jetpack Compose (Android — современно)
- Qt/QML (Aurora OS — стандарт)
- ArkUI (HarmonyOS — и это тоже)
- React (фронтенд, потому все равно все знают)
- Axum (бэкенд, Rust — экономно)
- WASM, JNI, FFI (ядро на Rust надо с чем-то связать)
Будет плюсом:
- Умение спать меньше 4 часов
- Любовь к красоте и нативным скроллбарам
- Опыт отладки багов, которые не воспроизводятся днём
- Навык убеждать заказчика, что HarmonyOS — это не Android
- Готовность спорить с borrow checker'ом (и побеждать)
- Навык не путать WinUI 3 с WPF и не проклинать Microsoft при каждом обновлении SDK
Мы предлагаем:
- Зарплату, которой хватит на психотерапевта
- Возможность работать на 7 платформах одновременно
- Свободу в выборе технологий (всё равно выберете всё)
- Коллег, плачущих от восхищения над вашим кодом
- Возможность не объяснять на собеседованиях, зачем вы знаете 7 языков (сами догадаются)
ВАКАНСИЯ: Multiplatform Engineer
Требуется:
Языки:
- Rust (чтобы core не падал)
- Swift (чтобы Apple нас любили)
- Kotlin (Google же попросил)
- C# (Windows без WPF/WinUI — не Windows)
- C++ (Qt — это классика, куда без неё)
- ArkTS (HarmonyOS — потому что можем)
- JavaScript (GTK под Linux, ну и веб тоже надо)
- Английский, Русский, Китайский (локализацию писать)
Фреймворки:
- SwiftUI (macOS, iOS — красиво)
- WinUI 3 (Windows 11 — нативно)
- GTK (Linux — без сюрпризов)
- Jetpack Compose (Android — современно)
- Qt/QML (Aurora OS — стандарт)
- ArkUI (HarmonyOS — и это тоже)
- React (фронтенд, потому все равно все знают)
- Axum (бэкенд, Rust — экономно)
- WASM, JNI, FFI (ядро на Rust надо с чем-то связать)
Будет плюсом:
- Умение спать меньше 4 часов
- Любовь к красоте и нативным скроллбарам
- Опыт отладки багов, которые не воспроизводятся днём
- Навык убеждать заказчика, что HarmonyOS — это не Android
- Готовность спорить с borrow checker'ом (и побеждать)
- Навык не путать WinUI 3 с WPF и не проклинать Microsoft при каждом обновлении SDK
Мы предлагаем:
- Зарплату, которой хватит на психотерапевта
- Возможность работать на 7 платформах одновременно
- Свободу в выборе технологий (всё равно выберете всё)
- Коллег, плачущих от восхищения над вашим кодом
- Возможность не объяснять на собеседованиях, зачем вы знаете 7 языков (сами догадаются)
🤣5🔥3😁2
Я остаюсь в Telegram.
Первое и самое важное — я не блогер, я программист. Я часто вынужден использовать ресурсы, которым замены у нас просто нет: языки программирования, библиотеки, фреймворки, информацию. Всё, что у нас есть для замены, — это полный стыд. Впечатление, что квоты на должности процветают не на западе, а у нас.
Я перепробовал кучу разных сервисов для блога, пробовал и наши, и китайские. По нашим скажу так: наши социальные сети — это позор, мне вот за них стыдно. Китайские сервисы… я честно пытался найти аналоги — блок, блок, блок, блок. У меня есть китайский номер, я пробовал регистрироваться на него и на российский номер — блокировки без возможности доказать, что ты реальный человек, не бот, не спамер… не вариант.
Ну а так как я не блогер, а лишь хочу поделиться своим опытом и наработками, мне хватает Telegram — удобная площадка. Telegram, как и многие другие сервисы, сталкивается с блокировками, но пока я имею право его использовать — я буду это делать. Законы нарушать я не собираюсь. Если его по закону заблокируют, придётся бросить вести блог, и каждый останется просто при своём. Если какой-нибудь iMAX превратят в достойную замену, можно будет попробовать, или если китайцы решат ослабить блокировки для дружественных стран (сервисы для своих у них достойные) — можно будет попробовать ещё раз. Сейчас это тухляк.
Первое и самое важное — я не блогер, я программист. Я часто вынужден использовать ресурсы, которым замены у нас просто нет: языки программирования, библиотеки, фреймворки, информацию. Всё, что у нас есть для замены, — это полный стыд. Впечатление, что квоты на должности процветают не на западе, а у нас.
Я перепробовал кучу разных сервисов для блога, пробовал и наши, и китайские. По нашим скажу так: наши социальные сети — это позор, мне вот за них стыдно. Китайские сервисы… я честно пытался найти аналоги — блок, блок, блок, блок. У меня есть китайский номер, я пробовал регистрироваться на него и на российский номер — блокировки без возможности доказать, что ты реальный человек, не бот, не спамер… не вариант.
Ну а так как я не блогер, а лишь хочу поделиться своим опытом и наработками, мне хватает Telegram — удобная площадка. Telegram, как и многие другие сервисы, сталкивается с блокировками, но пока я имею право его использовать — я буду это делать. Законы нарушать я не собираюсь. Если его по закону заблокируют, придётся бросить вести блог, и каждый останется просто при своём. Если какой-нибудь iMAX превратят в достойную замену, можно будет попробовать, или если китайцы решат ослабить блокировки для дружественных стран (сервисы для своих у них достойные) — можно будет попробовать ещё раз. Сейчас это тухляк.
👍18💩1😐1
Теперь, когда я закончил с Linux и Windows, я могу перейти на macOS и закрыть вопрос архитектур всех остальных платформ. И больше никакого XML! 🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4
Немного отвлекся от проекта по YDX на ИИ. Надо же держать себя в форме, тренды знаете ли.
ИИ-шка может помогать, главное — следить, чтобы проект не превратился в нейрослоп. Подобрал максимально качественную и рабочую модель под 4070 Ti (учтите: контекст тоже норм так жрёт память...). Придумал схему, при которой агент будет максимально умный, а мне при этом будет максимально не больно (жена не побьёт, что я деньги из семьи на токены тяну).
В общем, опробую схему на YDX — думаю, пойдёт дело шустрее. Одному 10 приложений клепать весело, но медленно.
ИИ-шка может помогать, главное — следить, чтобы проект не превратился в нейрослоп. Подобрал максимально качественную и рабочую модель под 4070 Ti (учтите: контекст тоже норм так жрёт память...). Придумал схему, при которой агент будет максимально умный, а мне при этом будет максимально не больно (жена не побьёт, что я деньги из семьи на токены тяну).
В общем, опробую схему на YDX — думаю, пойдёт дело шустрее. Одному 10 приложений клепать весело, но медленно.
👍4🤔2
Vitaliy Zarubin | @keygenqt
Немного отвлекся от проекта по YDX на ИИ. Надо же держать себя в форме, тренды знаете ли. ИИ-шка может помогать, главное — следить, чтобы проект не превратился в нейрослоп. Подобрал максимально качественную и рабочую модель под 4070 Ti (учтите: контекст тоже…
Media is too big
VIEW IN TELEGRAM
🔥7
🚀 YDX | SwiftUI — Фундамент готов
macOS-версия готова. SwiftUI мне уже знаком, пару-тройку дней и базовая архитектура приложения готова. Фундамент под приложения для десктопа полностью готов: Linux, Windows, macOS, мобильные платформы ждут нас.
🧠 Rust Core
- Вся логика в Rust.
- SwiftUI — тонкий UI слой.
- Архитектура — MV + ViewModel.
🪟 Навигация
- Гость (
- Полное управление стеком навигации.
🔐 Безопасность | Keychain
- Токены в защищенном хранилище.
- Валидация токена на сервере.
🎨 UI | SwiftUI
- Валидация форм с динамическими ошибками.
- Адаптация под Light/Dark Mode.
- Нативные диалоги.
- Локализация EN, RU, ZH.
📦 Стек
- Rust + Swift + SwiftUI.
🔗 https://gitcode.com/keygenqt_vz/ydx
macOS-версия готова. SwiftUI мне уже знаком, пару-тройку дней и базовая архитектура приложения готова. Фундамент под приложения для десктопа полностью готов: Linux, Windows, macOS, мобильные платформы ждут нас.
🧠 Rust Core
- Вся логика в Rust.
- SwiftUI — тонкий UI слой.
- Архитектура — MV + ViewModel.
🪟 Навигация
- Гость (
Welcome → SignIn → SignUp) и Пользователь (Home).- Полное управление стеком навигации.
🔐 Безопасность | Keychain
- Токены в защищенном хранилище.
- Валидация токена на сервере.
🎨 UI | SwiftUI
- Валидация форм с динамическими ошибками.
- Адаптация под Light/Dark Mode.
- Нативные диалоги.
- Локализация EN, RU, ZH.
📦 Стек
- Rust + Swift + SwiftUI.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
YDX | Step 2 — Architecture
2 months
✅ Server / Axum
✅ Website / React
✅ Documentation / mdBook
✅ Deployment / Docker
✅ Linux / GTK
✅ Windows / WinUI 3
✅ macOS / SwiftUI
⌛ HarmonyOS / ArkTS
⌛ Aurora OS / Qt
⌛ Android / Jetpack Compose
⌛ iOS / SwiftUI
2 months
████████████░░░░░░░░ 7/11 completedPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Ну если делать — то делать хорошо. Двигаемся к своему идеальному помощнику. Дальше больше. Мой подход предполагает минимальную зависимость от бесплатных чатов и API, при этом максимальную пользу от локальной модели с ограниченными ресурсами. В то же время не забываем про мощные бесплатные чаты. Пока я прощупываю почву, посмотрим, что из этого вырастет.
🔥3
🤖 RAG-система для разработки готова
Собрал систему для 4070Ti с OpenSearch + Open WebUI + Ollama.
Что сделал:
• Сделал систему синхронизации
• Сделал бенчмарк и проверил кучу моделей
• Добавил тулз для Agentic RAG на базе OpenSearch
• Добавил сказки про агыров для контекста 🧙♂️
Результат: модель находит актуальные версии библиотек и отвечает по базе знаний.
Лучшая модель — qwen2.5-coder:14b (13 сек холодный старт, 11 сек горячий)
Собрал систему для 4070Ti с OpenSearch + Open WebUI + Ollama.
Что сделал:
• Сделал систему синхронизации
• Сделал бенчмарк и проверил кучу моделей
• Добавил тулз для Agentic RAG на базе OpenSearch
• Добавил сказки про агыров для контекста 🧙♂️
Результат: модель находит актуальные версии библиотек и отвечает по базе знаний.
Лучшая модель — qwen2.5-coder:14b (13 сек холодный старт, 11 сек горячий)
🔥8