#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. Если проект небольшой - то да, решение вполне оправданное. Иначе стоит всё хорошо взвесить.
Комментариев нет:
Отправить комментарий