|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
Что выбрать - WPF .Net Core или WPF .Net Framework + буду работать с SQLite (также интересно какую версию БД выбрать)?22.10.2019, 00:09. Показов 18889. Ответов 11
Всем привет.
Ниже необязательная предыстория, высказался просто) Кликните здесь для просмотра всего текста
Тут наконец вновь взялся за мелкую приложуху для Windows 7, которая была реализована на WinForms+ACE OLE DB (работает с Excel) год назад, и то, благодаря замечательному форумчанину Storm23.
В течение года несколько раз переписывал ее с 0, ибо код очень плохой - ничего толкового не сделал до сих пор, но появилось видение конечного результата : -модульность (по 2 dll для GUI и логики конкретного модуля и общей сервисной/ых dll) -предусматривать ошибки, все сложные методы обворачивать в try...catch -запилить службу (точно пока не решил, мб в лаунчере это будет), чтобы проверять наличие обновы на сетевом диске по md5 У Storm23 еще нашел мануал по созданию минималистичной модульности для приложухи. Сейчас опять решился уже нормально ее переписать и до конца. Excel меняется на локальную БД - SQLite, в качетсве GUI хочу WPF (все равно уже надо учить эту технологию). На днях начал читать по-немногу статейки, понял, что Blend это визуальный контструктор в т.ч. и xaml файлов - что мне сейчас очень пригодится, ибо прямо сейчас не до изучения xaml основательно. Вот недавно переустановил VS с 17 на 19ю (еще случайно сонный поставил корп. версию, благо ключик быстро в сети нашел, пусть остается..). Сейчас решил создать в целях изучения WPF проект (давно уже игрался с ним, но пока не могу создавать готовые приложухи как с WinForms) для ознакомления и тут выбор от VS - Framework или Core. Я в недоумении, почитал и понял, что Core будущее, Microsoft топит вроде за нее, но представления о сложности, с которой могу столкнуться - нет. Вместе с Core продвигается Net Standart - как я понял, последняя это обязательный базовый комплект API для всех платформ, типа stl из C++. Как и с WPF (раз решил уже копаться в Net, то по современным стандартам GUI для Windows), раз о Framework знаю только вершину айсберга (мб еще меньше), подумываю сразу на Core начать переезжать. Только собрался создавать проект - вспомнил о SQLite (уже давно скачана, протестирована и встроена в бету моей приложухи). Гуглю значит "sqlite net core" и тут в основном все ресурсы пишут об Entity Framework, а точнее Entity Framework Core. Читаю их описания и тут упоминается LINQ (тоже темный лес для меня). Так еще в статейках показывают как SQLite качать из VS, а не отдельный DLL с http://system.data.sqlite.org Уважаемые форумчане, кто дочитал до этого момента - просьба понять Вопросов 2 : 1. Стоит выбирать WPF Core вместо WPF Framework, чтобы попасть в """страну чудес"""? Намного сложнее? 2. Если выберу Core, смогу взаимодействовать с файлами БД SQLite (планировалось держать на сетевом диске несколько общих БД-файлов, чтобы несколько клиентов приложухи моей обращались к ним - так нужно, сервак с норм СУБД поставить нет возможности) ? Намного сложнее будет в изучении, если сейчас я умею работать только со сторонними (от разработчиков самих БД) dll с SQLite и MySQL? Очень очень буду признателен за советы. Спасибо заранее
1
|
|
| 22.10.2019, 00:09 | |
|
Ответы с готовыми решениями:
11
Что выбрать в Xamarin.Android ADO.NET или SQLite.NET? Что выбрать ASP.NET или ASP.NET Core ? Как в Visual Studio 2017 выбрать версию .Net Framework? |
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
|
||||
| 22.10.2019, 00:48 | ||||
|
А библиотеки лучше ставить с nuget'а, а не качать и подключать вручную.
2
|
||||
|
Модератор
|
|
| 22.10.2019, 07:51 | |
Сообщение было отмечено MIRAMIX как решение
Решение
MIRAMIX, Core более новый и перспективный. Но FW лучше развит, более понятен, больше типов, методов.
Большой разницы между ними нет. Но для обучения я бы посоветовал WPF+FW. Освоить проще, а перейти с него на Core, при необходимости, после получения опыта, проблемы не будет. Для вас проблема будет, скорее всего, несколько в ином. Прочитайте тему "WPF vs WinForms (для начинающих)" в Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп] Основной язык WPF - это XAML. И учить его придаётся. Blend - это полезный инструмент, помогающий в некоторых случаях. Но никак не замена "ручному" редактированию XAML. Адекватную компоновку даже простого окна без ручного кодирования не создашь. Второй существенный момент - WPF это специально созданный инструмент для реализации View в паттерне MVVM. А, к сожалению, чаще всего опыт программирования WinForms - это создание бесформенной горы костылей. И самое печальное, что такой опыт очень сильно будет мешать обучению реализации WPF приложения. Третий момент, вытекающий из второго. В MVVM за обработку данных отвечает Model. Часто само хранение данных выделяют ещё в отдельный слой. К WPF же собственно относится только визуальный интерфейс. View через ViewModel обращается за данными, которые надо ПРЕДСТАВИТЬ, к Model. Model взаимодействует с ViewModel в дефолтных типах данных или DTO типах. Где хранятся данные, как Model их получает, сохраняет, изменяет WPF (View и ViewModel) безразлично. Должна быть независимость от Model. Есть интерфейс взаимодействия. Через этот интерфейс получаются данные. А что там за реальная Model роли не играет. Сегодня для хранения используется Excel, завтра БД, послезавтра WEB. Изменили Model - но это никак не должно влиять на остальную часть приложения. Тоже самое наоборот. Model безразлично какая View: WPF, WinForms, Console или печатная машинка. Я бы посоветовал отлаживать Model на консоли, и только после отладки добавлять в приложение WPF-View. Поэтому, прежде чем приступать к созданию приложения вам надо сначало освоить работу с БД в консоли. Осваивать одновременно и БД, и WPF (XAML, компоновка, привязки, команды и т.д.) будет сложно. А у вас даже нет знаний LINQ, а этого уровень начинающего (C# + консоль) программиста. Я не говорю, что вам это не одолеть. Вам виднее ваши силы. Но это будет сложно. Просто сесть и с ходу написать WPF приложение вряд ли получится. Я бы посоветовал начать с простых примеров и постепенно их усложнять. В разделе есть несколько тем с объяснениями. Часть собрано по ссылке указанной выше.
4
|
|
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
||
| 22.10.2019, 22:18 [ТС] | ||
|
Элд Хасп, спасибо большое за подробный ответ.
Таки поступлю, останусь пока на Framework-е. Также вчера нашел полезные 2 ссылки раз и два Сейчас важнее быстрее понять и реализовать задуманное.
0
|
||
|
Модератор
|
|
| 23.10.2019, 02:46 | |
|
MIRAMIX, эта книга почти полностью уровень начинающего.
Большая часть описанного в ней используется практически в любом более менее реальном приложении. Ещё раз говорю. Я не отговариваю вас, а предупреждаю, что будет не так просто.
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 23.10.2019, 13:59 | |
|
Господи, да кому вообще сдался этот core? Никто на линуксе не сидит, но все упорно хотят, чтобы их творение работало на всем-всем-всем..
2
|
|
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
| 24.10.2019, 23:01 [ТС] | |
|
Рядовой, полностью с Вами согласен.
Кросплатформенность далеко не самая важная вещь, лучше писать на целевых ЯП (swift-iOS, kotlin-Android). Но прочитав много материала про различия Core от Framework - суть не только в кросплатформенности. Это новый вид фреймворка, стандартизация api, то есть будущее Net, и фреймворк более обновляться не будет по-моему
0
|
|
|
|
||
| 28.10.2019, 14:25 | ||
|
Добавлю свой комментарий в догонку этой теме. Вдруг будет полезно.
Создал проект на .NetCore + Wpf, начал переписывать первый попавшийся модуль (выбрал полегче). Сразу увяз: нужно переверстать WinForm на Xaml; нужно написать многомодульно. Оценил потери, удалил проект. - Перевёрстывание отнимает много времени, а вьюшек около 40 и стиль будет изменён. Значит нужно сначала на бумажке нарисовать, накидать. - выносить в модули - это рефакторинг. Значит нужно сначала отрефакторить Vb.net?! Нет. Писать сразу с сервисами - не получится, нет нужного объёма моделей и вызовов. В итоге, поставил для себя пошаговый план, который даст мне более быстрые решения, которые не дадут отвлекаться и увязать в ненужных деталях. Поэтому получилось так: - через конвертер Vb.Net -> C# переношу каждую форму в новый проект. Сразу выделились методы, которые используются Vb.net, а так же общий код. - рефакторим C# проект. Вот теперь уже можно разбивать на модели, сервисы, вьюмодели. Вью(Forms) можно даже вынести в отдельный проект (как советовали разработчики). - и вот теперь можно начать покрывать всё тестами (некоторые наверное скажут, что это надо было делать раньше); а так же создавать корневой UI проект. И он теперь может быть любой - .Net (Forms, WPF), NetCore (Forms, WPF), Xamarin, Console. так как используется только для точки входа и вызова форм.К чему я эти мысли выложил. Увидел знакомую ситуацию с попытками "переписать всё и писать круто". Это будет сложно. Лучше разделить задачи и получится даже лучше, чем планировалось. Не будет сложности ни с БД, ни с моделями, ни с вьюшками.. и тестами.
1
|
||
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
| 28.10.2019, 21:27 [ТС] | |
|
HF, спасибо большое, любой совет/опыт приветствуется.
Тут еще неделю назад решил шарп все-таки освежить в памяти, там и мануал на метаните под новую версию ЯП и Core переписали (ох, не знаю куда я приду) Сейчас открыл студию, чтобы просмотреть список - для UI имеем WPF/WF под Core и Framework. Ну UI в последнюю очередь, как положено, смотрю на либы - Core, Framework и Standard. Это ппц. Опять почитав про отличия, так понимаю если и уходить с фрейма(чего не сделаю для своего проекта наверное - ибо он под Win7), то лучше на Standard - он универсален. А вот чего не понимаю - почему для UI проектов есть выбор и в чем различия...форма...кнопки всякие...
0
|
|
|
Заблокирован
|
|
| 25.04.2020, 17:29 | |
|
MIRAMIX,
как успехи? Что вы можете сказать теперь по поставленному вами вопросу выбора? Буду признателен, если поделитесь своим опытом тут или в теме - VS2019, в чем разница, приложение WPF (.Net Framework) и App WPF (.NET Core)
0
|
|
|
#MRoose
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
|
|
| 28.04.2020, 20:06 [ТС] | |
|
titan4ik, шарп я со шк стал изучать с создания всяких WF-приложений.
Любой новый функционал познавался или гуглежом, или вопросами здесь - то есть базовых знаний не был и после этого вопроса я начал с метанита теорию изучать, ибо с языком уже знаком. Она уже по Core, а не по .Net. Но после нескольких глав взяли джуном на java программиста, пришлось быстро еще js изучить. Этим хочу сказать, что сейчас познаю java, когда уже хороо изучу, с большей легкостью дастся шарп, потом и Core буду изучать. Разница между Net и Core, я так понимаю, в возможностях API. Много общего и разницы можете не почувствовать, но когда уже хорошо познаете шарп - Core однозначно.
1
|
|
|
Заблокирован
|
|
| 28.04.2020, 20:20 | |
|
Понятно, удачи, MIRAMIX!
Вперёд и только вперёд!
1
|
|
| 28.04.2020, 20:20 | |
|
Помогаю со студенческими работами здесь
12
Подскажите что лучше выбрать VB.NET или C.NET (C#) ? Что лучше выбрать VB.NET или C.NET (C#)? Что выбрать WPF, ZedGraph или MsChart? Кто читал Мак-Дональда? Какую книгу первую прочесть? WPF 4 или ASP.NET 4 ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|