Выбор платформы разработки для Клиента, клиент- Серверного приложения?
День добрый, появилась интересная задача, написание ПО для неважно-центра, в понятие ПО входит весь комплект ПО, документооборот, различные системы учёта всего и вся, системы доступа как персонала так и клиентов, где был что делал сколько был и т.п. работа с апаратными средствами, принтерами, кассами, считыватели карт и т.п.
Сейчас у них есть коробочный документооборот и прочий софт, написан на делфи то ли 4 то ли 5 (году в 2003-2004), любое мелкое изменение и допиливание его под нужны занимает сильно много времени, и по цене не хило, продажники софта сидят в столице, программисты где-то в другом городе, в общем цепочка сильно длинная.
Собственно вопрос, серверную часть, как мне кажется можно на ура выполнить на связке Питона (возможно ОРМ джанги поможет + посгре в качестве БД) а вот как быть с клиенсткой частью, писать на том же "Борланде Embarcadero" только свежем, не очень хочется, есть опыт разработки крупных приложений под Adobe AIR, есть небольшой опыт в Qt
Вот и… хотелось бы получить некую кросс-платформенность клиентской части, планшет, обычный ПК, может быть телефон
Что хочется ещё, наверное чтоб по дизайну это соответствовало «трендам» последнего времени, чтоб любая форма любое окно можно было нарисовать дизайнером, скажем так.
Буду рад различным советам, примерам, ссылкам.
PS Рад также познавать что-то новое, поэтому и родился данный вопрос.
А ничего, что только системы документооборота пишутся сотнями человек за тысячи человеко-часов.
Клиентскую часть — Вы не поверите — проще всего в — вебе пофиг, на чём, абы корректно отображалось в любимом(либо корпоративном) броузере сотрудника.
А такой комбайн «все и вся в одном» мало того, что пишется под каждую компанию конкретно — есть движок с готовым функционалом, но допиливать под технические процессы либо процессы и маршруты прохождения — можно иногда годами, и чаще всего сопровождается не одним человеком, а отделом или целым департаментом в зависимости от размеров компании.
1 Вам в компании со всех отделов надо формализовать требования по функционалу, маршрутам прохождения документов, другим тех процессам.
2. Посмотрите на готовые современные системы документооборота, что они предлагают, какой функционал уже есть, что Вам надо будет дописать/изменить по требованиям ТЗ, которые вы написали ранее в п.1
3. Не забывайте о том, что не задачи подбираются под инструменты, а инструменты выбираются в зависимости от задач.
PS — Я видел шикарную систему документооборота на Sharepoint у товарища в международной компании, но им внутри компании второй год занимается департамент из 80 человек. Что взято за основу — уже не помню, но за полгода там было переписано около 40% базовых компонентов.
Разумеется писать я буду не один, а 3-4 человека просто в минимум, работы там на в районе года, достаточно плотной работы, все детали я прекрасно понимаю, по всем отделам и прочим собрать потребности, посмотреть что и как проходит, куда откуда и почему. потом ещё поддержка этого всего и сопровождение, как всегда в общем, просто интересный объёмный проект, всё лучше чем за этотже год запилить 10 инет магазинов ;)
Делить на мелкие задачи и постепенно подойти к тому что у них есть сейчас и далее это выгибать в нужную им сторону.
про вэб, да первая мысль была именно такой, но заказчик воскликнул на мою мысль вслух «а можно не вэб»
Если вдруг у вас есть опыт разработки на c# то клиентскую часть советую делать на нем, тем более что нужна эксклюзивно ть в интерфейсе, а wpf это обиспечит
да не нужна эксклюзивность в интерфейсе. чем проще работать сотруднику тем лучше.и быстрее он сделает задачу.
В идеале одна кнопка «сделать хорошо!», но это сферический софт в вакууме.
Как показала практика лучше всё по максимум выводить в броузер, на десктопе оставить минимум софта.
чем больше человек и чем больше географически распределенных офисов тем сложнееи больше обновлять десктопный софт на куче слабых и очень слабых по регионам машин
Я лишь описал возможности языка, которые в вопросе изложил автор. Он говорил про прикладное программированин для десктопа. Если бы он описал задачу как красиво и практично вывести информацию в браузере и какую технологию при этом использовать, то ответ был бы совсем иной!
Если это чисто документооборот, то рекомендую посмотреть на две open-source системы: Alfresco и Nuxeo. Возможно, что будет быстрее и проще адаптировать их к нуждам заказчика чем писать с нуля.
Как правило, корпоративные системы пишутся на Java или C#. Интерфейс лучше всего web based. Это обеспечит минимальные проблемы с внедрение и сопровождение клиентской части ( в силу того что будет отсутствовать необходимость устанавливать и поддерживать отдельный софт на клиентских компьютерах ). Если интересует создание красочного, desktop подобного web интерфейса, то можно посмотреть на ExtJS.