Страницы

Поиск по вопросам

суббота, 11 апреля 2020 г.

Подобрать инструментальные средства - WPF and WCF

#c_sharp #net #wpf #entity_framework #wcf

                    
Добрый день! В WPF и многих других моментах к сожалению не очень силен, поэтому прошу
вашей помощи.

Пишу клиент-серверное ПО для небольшой авиакомпании. Пока что основное назначение
программы это учет самолетов, полетов, компонентов к ним, технического обслуживания
и т.д. База юзается Postgree, сейчас порядка 20 таблиц, дальше будет больше, из них
70% должны редактироваться пользователем. Используется связка Entity Framework Code
First + Npgsql

Взялся за этот проект причине желания научиться новому, т.к. с проектами подобного
рода еще не работал.

Сервер будет находиться на отдельной машине в локальной сети, количество одновременно
работающих клиентов будет около 10. Клиенты будут на WPF. В будущем возможно программа
выйдет за рамки локальной сети. Версия .NET Framework 4.5

В связи с этим несколько вопросов:

1) Какие полезные контролы, библиотеки можете посоветовать для интерфейса? В моей
голове все еще свежи воспоминания полуторагодовалой давности когда я нудно пилил курсовую
на WPF + DataGrid, в то время как некоторые однокурсники заюзали LightSwitch затратив
меньшие усилия и получив более приятный глазу результат. Но LightSwitch платный, поэтому
для моих целей он слабо подходит.

2) Как реализовать клиент-серверное взаимодействие? С сокетами хорошо знаком, и написать
на них не проблема. Но еще слышал про существование некоего WCF, может стоит попробовать его?

Вообще задача на мой взгляд более типична для 1С, о чем я честно сообщил заказчику,
но он сказал что не хочет с ним связываться.
    


Ответы

Ответ 1



Последнее время использую Elysium Extra- неплохо проработанные, бесплатные Win8-style компоненты с открытым исходным кодом. В основном заточены под MVVM. Установка: PM> Install-Package Elysium.Extra или искать Elysium Extra в NuGet

Ответ 2



Разумеется, лучше использовать WCF, чем писать все на сокетах. Даже если вы умеете работать с сокетами и не знаете WCF. Если у вас в проекте будет хотя бы 10 разных типов запросов между клиентом и сервером - то вы быстрее изучите WCF, чем успеете написать их все на сокетах.

Ответ 3



А не будет ли в данной ситуации, более адекватным использование ASP, а не связки WPF + WCF? Посмотрите и в эту сторону...

Ответ 4



Но LightSwitch платный, поэтому для моих целей он слабо подходит. Ну так купите его, если он устраивает полностью. Либо посмотрите в сторону бесплатных библиотек. Желательно, чтобы она была одна. Я предлагал заказчику ASP, но ему нужно десктопное приложение FireFox/Chrome/IE - вполне себе десктопные приложения. Заказчику требуется, чтобы его бизнес-цели выполнялись, а не десктопное приложение. Подозреваю, вы думаете несколько о другом, нежели о проблемах заказчика. Если не изменить свою точку зрения, этот "проект" скорее всего окажется бессмысленно потраченным временем. Но еще слышал про существование некоего WCF Я бы посмотрел в сторону ASP.NET Web Api, но опять же, многое зависит от того, что именно вы хотите делать. Нужен ли поллинг, броадкастинг. Все инструменты решают какие-то проблемы, нет правильного ответа на вопрос: "Что мне взять, чтобы заколотить клиент-серверное приложение", ответы на вопросы (а точнее сами вопросы) появляются только после уточнения требований по функционалу, быстродействию, UX и т.п. вещей.

Ответ 5



Но LightSwitch платный, поэтому для моих целей он слабо подходит How To Get Visual Studio LightSwitch For Free (Легально!) Однако замечу, что имел с этим инструментом много боли, так как допиливание снабжено кучей ограничений, накладываемых WPF и MVVM. Если проект небольшой - то да, решение вполне оправданное. Иначе стоит всё хорошо взвесить.

Комментариев нет:

Отправить комментарий