DenisOgr
@DenisOgr
Developer

На каких технологиях делать проект?

Сам проект-это программа и сайт. Оба работают с одной базой. Сайт на php + база Mysql. А вот с программой не могу определиться. Есть варианты н C#, java или др.

Требование к программе:

-добавление данных

-поиск по данным

-быстрая переписка, типа внутреней Icq (упрошенной)

-создание и работа с локальной БД


Какие варианты есть

С#+mysql. Но С как я слышал платно работает с другими БД, а не с MS SQL и не стабильно.

Java+mysql Но для такого приложения прийдеться устанавливать Java расширения на комп. Не очень удобно.

C#+MS sql. Но php сайт будет с нуля. Я буду писать. Никогда не писал на php для работы с ms sql.


Что посоветуете выбрать.


Для информации программа и сайт предназначены обработки заявок на недвижимость между агентствами.
  • Вопрос задан
  • 3089 просмотров
Пригласить эксперта
Ответы на вопрос 10
try4tune
@try4tune
А зачем вообще standalone приложения? Почему все не сделать web-based?
Ответ написан
geeek
@geeek
А всё писать на C# не вариант? Сайт — asp.net, программа — C#. И проблем с совместимостью не будет.
Ответ написан
Сделайте на сайте API и дергайте его из приложения. Если уж это так нужно. Самое гибкое решение, уменьшает связность частей.

> Но С как я слышал платно работает с другими БД, а не с MS SQL и не стабильно.
хрень какая-то. www.mysql.com/downloads/connector/net/ все бесплатно, стабильно. Другой вопрос, что всякие плюшечки c# типа LINQ с mysql не работают.

> C#+MS sql. Но php сайт будет с нуля. Я буду писать. Никогда не писал на php для работы с ms sql.
с точки зрения php разницы минимум. Вместо одной функции вызывать другую, а вообще сайт должен быть абстрагирован от БД, и должен быть уровень-прослойка, позволяющий мигрировать с одной бд на другую. Вопрос только в том что сам SQL у MS SQL сервера немного отличается от MySQL. Вы его видимо не знаете.

Про яву не скажу, т.к. не пишу на ней.

Вообще сам факт того, что вы хотите из вашего приложения долбиться на удаленную базу (ту же с которой работает сайт) странный. Что будете делать если в агенстве недвижимости порт 3306 (или какой там у mysql) закрыт (а так чаще всего и есть, закрыто все кроме 80)? А если у них инет через прокси, причем не SOCKS5, а HTTP (а так чаще всего и есть)? Что вы со своей архитектурой будете делать когда захотите права доступа к разным объектам проверять? Как вы на уровне БД запретите юзеру править одни строки в таблице и разрешите править другие? Что будете делать когда понадобится структуру бд изменить? Переустанавливать все 100500 развернутых клиентов потому что там захардкожены уже кривые запросы, а на время переустановки вся система встанет (бд уже обновили, а клиенты еще нет)?

Повторюсь — единственное правильное решение сделать на сайте API и дергать его из приложения. Если бы все писали на c# мог бы вам посоветовать Web Service сделать, а с php вам придется самому стандарт взаимодействия скорее всего изобретать. Не мудрствуя лукаво можете просто гонять XML между сайтом и программой. Программа отправляет POST'ом XML с параметрами запроса, получает XML с ответом, обработка XML есть и в c# и в php. Или json можете использовать, но лучше XML он в c# лучше поддерживается. Такая архитектура снизит связность частей системы, добавит дополнительные уровни абстракции, развяжет вам руки для последующего развития.
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Я бы тоже делал онлайн приложение, сегодня для этого существуют все необходимые возможности.
Ответ написан
zodchiy
@zodchiy
Фуллстэк с 2005
Ничего страшнего в том, что будет все работать на .NET, сайт на asp.net (не такой он уж и страшный), а приложение на winforms, не нужно два раза один и тот-же код писать — ядро одно.
В другом случае я бы предложил использовать другие платформы для десктопа, а не .NET.
Иначе весь смысл пропадает.
Ответ написан
Комментировать
@MrSteve
В данный момент разрабатываю программу C# + MySQL. Конечно, такой производительности, как в связке C# + MSSQL не добиться, но все работает стабильно, без сбоев. Нужно использовать коннектор, который подсказал Yavanosta. Все бесплатно.
Ответ написан
Комментировать
Alroniks
@Alroniks
MODX Джедай, работаю с Laravel
Сайт то скорее всего на какой-то cms подымать будете. Тогда можно использовать modx, дописав к нему модуль необходимый. И он умеет работать с MS SQL из коробки.
Ответ написан
Комментировать
sevka_fedoroff
@sevka_fedoroff
> Java+mysql Но для такого приложения прийдеться устанавливать Java расширения на комп. Не очень удобно.

Ну все равно придется ставить сервер mysql, правильно? Так что не вижу проблем в установке JRE. За то кроссплатформенно.
Ответ написан
el777
@el777
Сколько пользователей ожидается?
Что будет, когда два пользователя изменят в своих базах объект по-разному? Как это засинхронизировать на сервер?
Как быть с общими справочниками?
Ответ написан
@Robotex
Программу рекомендую делать на Qt. Во-первых, она будет работать быстрее таковой на Java или C#. Во-вторых, в отличие от C#, она будет полностью кроссплатформенна (а дополнительные клиенты за те же деньги это очень хорошо).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы