Эти требования сложны. Я думаю, что мы все хотели бы единую систему, которая позволила бы нам разработать кросс-браузерное, мультиплатформенное приложение со всеми этими функциями. Было бы полезно, если бы вы включили общую функциональность вашего приложения. Направление, которое вы выбираете с выбранной платформой, сильно зависит от требований, которые включают не только функции, но и производительность, постоянное развитие, затраты на поддержку и другие факторы.
Я согласен с moobaa, что кроссплатформенную разработку лучше всего выполнять с помощью архитектуры SOA. Сконцентрируйте всю свою бизнес-логику в веб-сервисах XML и разработайте внешние интерфейсы для платформ, на которые вы хотите ориентироваться. Это может повлиять на производительность, но ограничит количество параллельных разработок, которые вам придется выполнять. Есть некоторые конвертеры C # в Java, но я не могу ручаться за их эффективность.