Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/92: Рейтинг темы: голосов - 92, средняя оценка - 4.58
#MRoose
 Аватар для MIRAMIX
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
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.10.2019, 00:09
Ответы с готовыми решениями:

Что выбрать в Xamarin.Android ADO.NET или SQLite.NET?
Учу Xamarin.Android, выяснил что для хранения локальных данных можно использовать базу данных SQLite. На англоязычных форумах написано...

Что выбрать ASP.NET или ASP.NET Core ?
Добрый день форумчане, хотелось бы услышать ваше мнение, какой из перечисленных фреймворков лучше начать изучать с нуля в данный момент...

Как в Visual Studio 2017 выбрать версию .Net Framework?
В свойствах проекта в строке "Целевая версия платформы .Net Framework" нет никаких предлагаемых версий Добавлено через 48 секунд ...

11
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
22.10.2019, 00:48
Цитата Сообщение от MIRAMIX Посмотреть сообщение
1. Стоит выбирать WPF Core вместо WPF Framework, чтобы попасть в """страну чудес"""?
Намного сложнее?
Одно и то же. Разве что .NET Core более перспективная технология.

Цитата Сообщение от MIRAMIX Посмотреть сообщение
2. Если выберу Core, смогу взаимодействовать с файлами БД SQLite (планировалось держать на сетевом диске несколько общих БД-файлов, чтобы несколько клиентов приложухи моей обращались к ним - так нужно, сервак с норм СУБД поставить нет возможности) ?
Сможете.

Цитата Сообщение от MIRAMIX Посмотреть сообщение
Намного сложнее будет в изучении, если сейчас я умею работать только со сторонними (от разработчиков самих БД) dll с SQLite и MySQL?
Не известно как вы с ними работаете (EF, ADO.NET провайдеры и т.д.).
А библиотеки лучше ставить с nuget'а, а не качать и подключать вручную.
2
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,036
Записей в блоге: 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
 Аватар для MIRAMIX
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
22.10.2019, 22:18  [ТС]
Элд Хасп, спасибо большое за подробный ответ.

Таки поступлю, останусь пока на Framework-е.
Также вчера нашел полезные 2 ссылки раз и два

Сейчас важнее быстрее понять и реализовать задуманное.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
а этого уровень начинающего (C# + консоль) программиста
Хмм, тут он аж в 16 главе. Не пугайте так)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,036
Записей в блоге: 2
23.10.2019, 02:46
MIRAMIX, эта книга почти полностью уровень начинающего.
Большая часть описанного в ней используется практически в любом более менее реальном приложении.

Ещё раз говорю.
Я не отговариваю вас, а предупреждаю, что будет не так просто.
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
23.10.2019, 13:59
Господи, да кому вообще сдался этот core? Никто на линуксе не сидит, но все упорно хотят, чтобы их творение работало на всем-всем-всем..
2
#MRoose
 Аватар для MIRAMIX
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
24.10.2019, 23:01  [ТС]
Рядовой, полностью с Вами согласен.
Кросплатформенность далеко не самая важная вещь, лучше писать на целевых ЯП (swift-iOS, kotlin-Android).

Но прочитав много материала про различия Core от Framework - суть не только в кросплатформенности.
Это новый вид фреймворка, стандартизация api, то есть будущее Net, и фреймворк более обновляться не будет по-моему
0
HF
 Аватар для HF
1303 / 882 / 199
Регистрация: 09.09.2011
Сообщений: 2,590
Записей в блоге: 2
28.10.2019, 14:25
Добавлю свой комментарий в догонку этой теме. Вдруг будет полезно.

Цитата Сообщение от MIRAMIX Посмотреть сообщение
Тут наконец вновь взялся за мелкую приложуху для Windows 7, которая была реализована на WinForms+ACE OLE DB (работает с Excel) год назад, и то, благодаря замечательному форумчанину Storm23.
В течение года несколько раз переписывал ее с 0, ибо код очень плохой - ничего толкового не сделал до сих пор, но появилось видение конечного результата :
-модульность (по 2 dll для GUI и логики конкретного модуля и общей сервисной/ых dll)
-предусматривать ошибки, все сложные методы обворачивать в try...catch
-запилить службу (точно пока не решил, мб в лаунчере это будет), чтобы проверять наличие обновы на сетевом диске по md5
Недавно я тоже решил переписать одну из своих программ. Vb.Net+WinForms. Куча вьюшек с разным функционалом.
Создал проект на .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
 Аватар для MIRAMIX
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
 Аватар для MIRAMIX
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2020, 20:20
Помогаю со студенческими работами здесь

Подскажите что лучше выбрать VB.NET или C.NET (C#) ?
Я программирую на VB. Но так как сейчас появилась .NET платформа решил перейти на неё. Подскажите что лучше выбрать VB.NET или C.NET...

Что лучше выбрать VB.NET или C.NET (C#)?
Я программирую на VB. Но так как сейчас появилась .NET платформа решил перейти на неё. Подскажите что лучше выбрать VB.NET или C.NET...

Что выбрать WPF, ZedGraph или MsChart?
Мне нужно построить диаграмму и 3-х мерный график в проекте для Windows. Пишу на C# Использую Visual Studio. С помощью чего лучше...

Кто читал Мак-Дональда? Какую книгу первую прочесть? WPF 4 или ASP.NET 4 ?
Изучил основы по Шилдту, написал немного курсачей на WPF, бегло ознакомившись с технологией. Нужно ли знание WPF при работе с asp net? ...

Какую версию net framework использовать?
Добрый вечер, начел учить C#, и у меня возникло пару вопросов, может подскажите мне 1) Какую версию net framework лучшие использовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru