Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 17:25
Оценка: 1 (1) +6 :))) :)
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Посмотри на stackoverflow количество вопросов о MetroUI и по веб стеку. Различия на два порядка.

Встречное предложение: посмотрите на RSDN в разделе "Архитектура" количество вопросов, относящихся к .Net, и к Java. Означает ли это, что на платформе Java все так плохо с архитектурой, что лучше даже не браться?

Есть технологии из разряда "Берешь и делаешь", а есть технологии из разряда "Человечество осуществило посадку зонда на комету, но так и не научилось выравнивать блоки с помощью CSS". Может быть, дело и в этом?
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 13:13
Оценка: +3 -1
Здравствуйте, Alexander Polyakov, Вы писали:

B>>Пишут на всем — .Net, Java, C++ etc etc. Каждый инструмент имеет свои плюсы и минусы, поэтому всегда нужно исходить из требований, бюджета и сроков.

AP>Рекомендация исходить из требований обладает нулевой информативностью.
Каков вопрос, таков ответ.

B>>... минус — в худшем UX по сравнению с нативными платформами.

AP>Обоснуйте. Ограничим область Windows-десктопом. Чем UX у приложения в Chrome хуже приложения, разработанного на WinForms, WPF, [ваш вариант]?
Существенные ограничения платформы: интеграция с ОС — окна, поиск, charms и т.п., следование нативным гайдлайнам, избыточность интерфейса за счет включения UI браузера). Вы можете бороться с этим, конечно, но решение именно этих проблем вам будет стоить дороже, чем для нативных приложений.

AP>Не секрет, что часто UX в enterprise приложениях далек от удобства, в том числе, и у нативных приложений.

Это, в первую очередь, следствие кривого процесса разработки (например, когда программеры заставляют заказчика писать ТЗ).
Re[12]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 20:22
Оценка: +3 -1
B>Грид с данными на любом современном стеке пишется за день, максимум, с использованием широкодоступных готовых компонентов. Нечего там писать с нуля и незачем.
Ну я же совсем не об этом. Пример с гридом это как индикатор того, насколько хорошо ui-технология позволяет постепепнно создавать то, что нужно.
Как создаются приложения из готовых компонент я в курсе, это постоянные компромиссы в итоге результат вроде работает, но им не будешь гордиться. А для этого нужно двигаться постепенно, уделяя внимание каждой детали и отсекая лишний хлам.
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 11.12.14 18:15
Оценка: +4
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Как на WPF делать вот такие редактируемые формы-простыни?


А в чём проблема? Судя по картинке вся сложность лишь в том, что здесь много примитивного кода.

AP>На HTML довольно естественно такое верстается.


"Естественно" — штука весьма относительная. Такое и на XAML верстается как два пальца. Самое интересное начнётся когда из этой мёртвой простыни нужно будет сделать что-то более менее живое, когда вместо друх комбинаций состояния формы прочитал/записал придётся поддерживать десятки самых разных комбинаций.

Вообще простота HTML очень обманчива. Проблема в том, что у HTML существует весьма быстро достижимый уровень сложности UI. Очень простые вещи делать на HTML очень просто, очень сложные — очень сложно. В свою очередь, на WPF простые вещи делать относительно сложно, а сложные относительно просто.
Если нам не помогут, то мы тоже никого не пощадим.
Re: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.12.14 10:02
Оценка: 23 (2) :)
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.


На всем пишут. Самый технологичный вариант сейчас — WPF. Основное направление инвестиций МС в следующем фреймворке (который после .NET 2015) — тоже WPF.

AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой?


Для большинства подходит. Единственное, не советовал бы для приложений с интенсивным клавиатурным вводом, типа кассиров на кассе или кладовщиков.
Но это весьма дорогое удовольствие. Стоимость разработки UI от того же WPF может отличаться в разы.
Так что, мое ИМХО, с этим стоит связываться, только если вам надо работать на нескольких платформах здесь и сейчас.

AP> Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.


С SPA все еще хуже в плане стоимости разработки.

AP>TypeScript нам поможет?


Поможет, но слишком большой помощи с его стороны ждать не стоит, это очень тоненькая прослойка над JS.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re: На чем сейчас пишут UI в enterprise приложениях?
От: novitk США  
Дата: 02.12.14 21:07
Оценка: +3
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.


Если нет нужды в вебе, то стоит писать все на едином языке. Это дает возможность перекидывать код между клиентом/сервером/платформами и не думать об интеропе и врапперах.
C# -> WPF, Java -> JavaFX/SWT/Swing, Python -> PySide/Kiwy/Wx, JS -> html, C++ -> Qt/Wx и т.д.

И таки да, JavaScript ужасен в качестве основного языка, но если нужен веб от него не убежишь и стоит таки попробовать костыли (TypeScript, AngularJS и т.д.).
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 12.12.14 19:01
Оценка: +3
Здравствуйте, AlexRK, Вы писали:

ARK>Иногда приходилось копипастить целые простыни XAML-кода контролов из MSDN, чтобы сделать какие-то примитивные вещи, типа скролл-баров.


XAML — это ошибка мироздания. Надеюсь MS когда-нибудь это поймёт и сделает нормальный DSL для описания UI.

ARK>Биндинги, триггеры — все это, наверное, мощные штуки, но сделано как-то все через зад, не интуитивно (оценочное суждение).


Нормально там всё сделано. Не идеал, но жить можно.

ARK>В то же время каких-то существенных преимуществ перед WinForms не обнаружил. Понятно, что WPF позволяет сделать вращающуюся вдоль всех осей и переливающуюся всеми цветами неведомую хрень, только кому это нужно?


Здесь работает почти тот же принцип, что и с HTML. Пока делаются простые вещи, то разницы между WinForms и WPF почти нет. На WinForms даже проще делать простое. Но чем дальше в лес, тем жирнее партизаны и WinForms начинает очень быстро сливать. Например, в WPF UI логика отчуждаема от компонента и полностью заменяема и до сих пор у меня не было ни разу ни одного случая, когда мне не удавалось бы доработать любой UI компонент до нужной мне кондиции. На WinForms это очень проблематично и нужно либо искать что-то готовое, влезая в зависимость от кучу разношёрстных компонентов, либо пилить своё с нуля.
Если нам не помогут, то мы тоже никого не пощадим.
Re[28]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 13:03
Оценка: 4 (1) +1
Здравствуйте, Serginio1, Вы писали:

S>Ну а как сейчас с этим справляется IDE?

для обычных типов для вывода не требуется смотреть на предыдущие вызовы, типизация явная. Для динамика автодополнения нет. Для f# — эт знатоков надо спрашивать.
Re[11]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 29.11.14 19:15
Оценка: +2
Здравствуйте, Alexander Polyakov, Вы писали:

B>>Есть технологии из разряда "Берешь и делаешь", а есть технологии из разряда "Человечество осуществило посадку зонда на комету, но так и не научилось выравнивать блоки с помощью CSS". Может быть, дело и в этом?

AP>Гриду (с данными) на html/css/ts можно полностью с нуля написать за неделю. Какой результат будет через неделю, если попытаться сделать с нуля (не используя готовый контрол) гриду на WPF?

А если встретятся слон и кит, кто кого поборет?
Прекращайте писать ерунду — вероятность того, что вам что-то толковое скажут, будет больше, если расскажете какие особенности у вашего "энтерпрайза".
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.14 17:24
Оценка: -2
Здравствуйте, Alexander Polyakov, Вы писали:

AVK>>А в чем проблема?

AP>Как бы ты это сделал?

Обычным образом. В чем ты проблему видишь?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[11]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 14.12.14 04:39
Оценка: +2
Здравствуйте, AndrewVK, Вы писали:

IT>>Сволочи, конечно. Но даже не смотря на это — это лучший вариант, чем JS.

AVK>Только технически. А вот вкладывать бабки в технологию, которая не будет никогда развиваться я бы не стал.

Я бы не стал вкладывать бабки в технологию, которая хоть и бурно развивается, но создаёт больше проблем, чем решает.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.12.14 10:02
Оценка: 23 (1)
Здравствуйте, c-smile, Вы писали:

AP>>TypeScript нам поможет?

CS>В UI ? Врядли.

Откуда такой вывод?

AP>>Что у нас в это свете с AngularJS и т.п.?

CS>TypeScript и AngularJS как-то вмеcте не живут.

https://github.com/borisyankov/DefinitelyTyped/tree/master/angularjs
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[10]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 15.12.14 17:53
Оценка: 9 (1)
Здравствуйте, Sharov, Вы писали:

S>>>Сразу такой вопрос, может знаете: а как работать с библиотеками типа jquery, angularjs, underscore и т.д?

S>>>Как обычно или же мне нужен порт этих библиотек на Kotlin?

A>>Там то же самое, что и в TypeScript.


S>Будьте добры развить мысль дальше, что в TypeScript? А то я не игрался еще.


Для одного JavaScript'овского нетипизированного function(a, b) нужно написать несколько типизированных перегрузок, которые опишут какие сочетания типов возможны для a и b, и какой получится результат. Например, если взять $('h1').addClass(???), то в документации jQuery описаны 2 варианта что можно передать в качестве аргумента: строка или функция (http://api.jquery.com/addClass/). Kotlin позволяет вместо документации просто взять и один раз описать в коде обе перегрузки:
package jquery

import org.w3c.dom.Element

native
public public class JQuery() {
    public fun addClass(className: String): JQuery = noImpl;
    public fun addClass(f: Element.(Int, String) -> String): JQuery = noImpl;
...

(https://github.com/JetBrains/kotlin/blob/master/js/js.libraries/src/jquery/common.kt)

Т.е. реализация jQuery берётся оригинальная, но есть возможность описать для неё статически типизированный интерфейс, который запретит писать глупости типа $('h1').addClass(123)

Ну и в TypeScript примерно то же самое:
interface JQuery {
    addClass(className: string): JQuery;
    addClass(func: (index: number, className: string) => string): JQuery;
    ...

(https://github.com/borisyankov/DefinitelyTyped/blob/master/jquery/jquery.d.ts#L1339)
Отредактировано 15.12.2014 17:57 andyag . Предыдущая версия . Еще …
Отредактировано 15.12.2014 17:54 andyag . Предыдущая версия .
Re[26]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 12:41
Оценка: 8 (1)
Здравствуйте, Serginio1, Вы писали:

S>>Для полноты картины представьте, что перегрузок у Get() и у Do() несколько и что все они различаются типами.

S> Но что мешает в DynamicInterface закинуть перегрузку?
А там проблемы не с DynamicInterface, а с разрешением перегрузок для интеллисенса. И с раздуванием количества кандидатов из-за промежуточных вызовов. Допустим, есть
static T Get<T>(T source) { return source; }
static string Get(int source) { return ""; }


ну и дальше всё как было. Для полного щастья — сюда же extension methods.


S> Сейчас в отпуске посмотрю на рослин. Спасибо.

Ок. Учти, что в бете сейчас наполовину поломано всё, недели две назад официальные самплы на vs preview не работали. Исправления вроде пушили, но я не отслеживал. Ну и единственный способ получить справку до релиза — форум.
impromptu interface попроще будет на пару порядков (не преувеличиваю, реально так).

Удачи!
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: ionoy Эстония www.ammyui.com
Дата: 17.12.14 09:16
Оценка: 5 (1)
Здравствуйте, Jack128, Вы писали:

J>Здравствуйте, ionoy, Вы писали:


I>>Чтобы на XAML-подобных фреймворках было легче разрабатывать, я лично использую ReactiveUI. Там правда порог вхождения не самый низкий, зато позволяет избавиться от многих врождённых проблем XAML'а и даёт IObservable интерфейс к чему хочешь.


J>Хм, ReactiveUI — это вроде как для описания ViewModel, а xaml — для View. Как первое может помочь избежать проблем второго??


ReactiveUI — это не только ViewModel, там ещё много разного.

Например, биндинг в коде:

this.Bind(ViewModel, vm => vm.Name, v => v.Text);
this.OneWayBind(ViewModel, vm => vm.Name, v => v.Text, name => "Hello, " + name);
this.BindCommand(ViewModel, vm => vm.Save, v => v.SaveButton);


Примечательно, что биндинг продвинутый, с конвенциями и возможностью настройки.
Например есть такая удобная договорённость:
this.OneWayBind(ViewModel, vm => vm.Items, v => v.ListBox.ItemSource);

где:
class ViewModel
{
  List<ISomeViewModelType> Items;
}

На основании конкретного типа элемента из Items в DataTemplate ListBox будет подставлено представление для этой модели, если оно было зарегистировано.


Универсальная навигация:

Router.Navigate(CalendarViewModel);


Логирование, обработка ошибок, персистентность и ещё много чего.

Ну и самое главное, что правильно написаный на ReactiveUI код можно переносить между разными XAML фреймворками, WPF, SilverLight, WinRT, XamarinForms и тд.

К сожалению документация достаточно куцая, но они Работают Над Этим™.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Отредактировано 17.12.2014 9:17 ionoy . Предыдущая версия .
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Cyberax Марс  
Дата: 30.11.14 02:22
Оценка: 1 (1)
Здравствуйте, andyag, Вы писали:

AP>>но язык хочется статически типизированный.

A>Таких нет. Есть GWT/Vaadin — оно, насколько знаю, полумертво и непопулярно. Есть Dart, который вообще не пойми что: вещь в себе. Есть всякие TypeScript/CoffeeScript — "надстройки" над JS.
GWT вполне себе популярен. Из того что на виду — на нём написана консоль в Amazon EC2.
Sapienti sat!
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.14 19:11
Оценка: 1 (1)
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, c-smile, Вы писали:


CS>>AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.

MM>А где там триггеры?

Ну дык $watch() же. Классический trigger, нет?
Re: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 29.11.14 15:43
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.


AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.

AP>TypeScript нам поможет?
AP>Что у нас в это свете с AngularJS и т.п.?

Мне вот всегда было интересно, откуда берутся такие вопросы.

Вариант 1. Вы хотите где-то у кого-то заказать какой-то софт. При этом хочется сразу в требования включить на чём его делать. Не занимайтесь фигнёй, технические решения должны принимать технические специалисты.
Вариант 2. Вы техлид абстрактной команды, которая будет писать какой-то софт. Техлид, который задаёт вопрос "на чём делать UI?" o_O
Вариант 3. Вы обычно не занимаетесь фронтэндами, а тут вдруг — надо. На чём именно вы ими не занимаетесь? Я ещё не встречал backend-only JS девелоперов, поэтому предположу, что, например, вы умеете C#. Если так, то исходить нужно именно из этого. Если нет требований делать "в стиле Windows 8", лучше WPF пока ничего не придумали.
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 16:57
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Тк Win8 это же полный провал MS.

AP>Я уже не говорю о провале метро для телефонов и планшетников.
Нет смысла начинать холивар, когда можно говорить о цифрах. Доля рынка Win8+ больше чем у MacOS X и будет расти. Интерфейс Modern UI остается в Windows и будет развиваться, поэтому игнорировать его нет смысла. Windows Phone, может быть, и загнется, но не из-за интерфейса уж точно.

P.S. пишу этот комментарий с Surface Pro 3, на который пересел с iPad и очень доволен.
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 29.11.14 19:10
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

A>>Вариант 2. Вы техлид абстрактной команды, которая будет писать какой-то софт. Техлид, который задаёт вопрос "на чём делать UI?" o_O

AP>Вы перешли на личности, ну тогда и я.
Не переходил на личности — выдвинул несколько гипотез.

AP>Вы как-то странно читаете, у меня вопрос написан совсем по другому.

AP>А если серьезно, то у меня есть опыт на разных ui технологиях. В качестве ui движка предпочтение отдаю html/css,
HTML/CSS по определению не может быть движком, потому что он статичный.

AP>но язык хочется статически типизированный.

Таких нет. Есть GWT/Vaadin — оно, насколько знаю, полумертво и непопулярно. Есть Dart, который вообще не пойми что: вещь в себе. Есть всякие TypeScript/CoffeeScript — "надстройки" над JS.

AP>Печально сложилось, что на .NET/Java реализацию ui библиотек отдали криворуким разработчикам. Оно вроде работает, но не шибко....

Напишите пожалуйста примеры того, что не работает.
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 30.11.14 18:11
Оценка: +1
Здравствуйте, c-smile, Вы писали:

CS>TypeScript и AngularJS как-то вмеcте не живут.


Да ладно? Полгода как пишу только а TS, в том числе с angular.
Re[11]: На чем сейчас пишут UI в enterprise приложениях?
От: Abalak США  
Дата: 02.12.14 20:38
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Гриду (с данными) на html/css/ts можно полностью с нуля написать за неделю.


А можно и не написать У меня на реализацию нормального мультиселекта, аля эксель, на ExtJS заняла практически две недели.
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 05.12.14 09:51
Оценка: +1
Здравствуйте, c-smile, Вы писали:

CS>За годы были написаны тонны UI на всяко разных строго типизированных языках.


TypeScript не совсем строго типизированный язык. Но я понял, про TS ты только слышал краем уха. Больше вопросов не имею.

AVK>>https://github.com/borisyankov/DefinitelyTyped/tree/master/angularjs

CS>Блин, это уже вообще что-то запредельное ...

Это не запредельное, это аннотация типов для Angular.

CS>Самому не страшно по таким конструкциям ходить?


Нет. Я, в отличие от тебя, устриц пробовал. TS это очень тонкая прослойка, никаких абстракционных проблем он не создает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.14 10:33
Оценка: +1
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Как на WPF делать вот такие редактируемые формы-простыни?


А в чем проблема?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.12.14 12:57
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Для enterprise apps я бы лучше посмотрел в сторону Silverlight.


Учитывая что его уже давно похоронили?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[12]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.12.14 18:43
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S> Проблема то не только в 1С тот же ExpandoObject от IDispatch мало отличается.


И кому он нужен? Давно уже на DLR современные динамики дотнетные перешли. Но если тебе так печет — напиши свой биндер для него. При чем тут дизайн языка?

S>По твоему динамики не нужны?


По моему не нужны. Но это не имеет отношения к обсуждаемому вопросу. Поддержка динамиков в шарпе позволяет без каких либо теоретических проблем реализовать типизацию, аналогичную TypeScript. А то что для глобуса 1С никто не реализовал аналогичную сову — совсем не в языке проблема.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[16]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.12.14 23:04
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S> Ну почему же мне интересна. И наверняка найдется куча людей которые вплотную работают с динамиками.


И что дальше? Ты так и не сказал что тебе не хватает в языке.

S> Типа этого? ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


Что типа этого? Опять какие то обрывки мыслей. Как говорит Синклер — мне сложно разговаривать с голосами в твоей голове.

AVK>>Это уже более менее умеет Решарпер. При чем тут Хейлсберг?

S> Не пользуюсь.

Сочувствую.

S> Но введение в язык DinamicInterface и присврение имен с префиксом Di не создаст никаких проблем для чтения и понимания.


Чего блин?

AVK>>Это позволяет и DLR. И много чего другого позволяет. Ты в очередной раз зацикливаешься на чем то, что ты когда то изучил, и перестаешь смотреть по сторонам.

S> Дай ссылку на пример пожалуйста.

Пример чего?

S> Но опять же повторюсь, что введение псевдоинтерфейсов самое простое средство решения контракта имен динамиков.


Что такое "решение контракта имен динамиков"?
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[20]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 09:39
Оценка: +1
Здравствуйте, Serginio1, Вы писали:


S>>https://github.com/ekonbenefits/impromptu-interface

S>>http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
S> Это уже проходили ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


То, что я привёл работает, в отличие от твоего примера В том числе и с динамиками.

S>Это почти тот же TypeScript

Зачем? Я вообще не вижу тут места динамикам, разве что для случая "ленивый программер забил прописать контракт для интеропа".

S>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S> как при записи так и при чтении.
См ссылки выше. Так оно и работает.

S> Этого достаточно. Тогда и волки (контракт на уровне имен) и овцы (clr) целы.

Я уже привёл ссылки. Изменений CLR не требуется.

S>DyExpandoObject это просто подсказка IDE какие свойства и методы может иметь динамик и на основании их использовать Intellisence, предупреждение об ошибке и рефакторинг

Берём рослин, студию 2015, реализуем свой ICompletionSourceProvider+roslyn extensions для подсветки ошибок и рефакторинга. API размечаем как
[return:As(typeof(SomeType))] dynamic SomeMethod() { ... }

собственно, всё. Нафига только
Re[22]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 10:59
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>>>Это почти тот же TypeScript

S>>Зачем? Я вообще не вижу тут места динамикам, разве что для случая "ленивый программер забил прописать контракт для интеропа".
S> Еще раз есть куча IDispatch без интерейсов и даже без диспинтерфейсов. Есть универсальный доступ к XML ил и DатаSet которые я могу описать через ExpandoObject.
С этим справляются и обычные dynamic, AndrewVK вроде выше уже писал. Прикрутить типизацию к динамикам — см ссылки выше.

S> Но создается обертка над динамиком. Лишний оверхед.

Какой? В 1 .call (.callvirt для интерфейса)?
С учётом, что сам динамик никуда не пропадёт и что он будет дороже раз в 10..200 — это религия чистой воды.


S>>Берём рослин, студию 2015, реализуем свой ICompletionSourceProvider+roslyn extensions для подсветки ошибок и рефакторинга. API размечаем как

S> Но мой подхож использования DynamicInterface значительно проще использовать.
Угу. Только ради него придётся половине народа в VS team и compilers team страдать фигнёй где-то с полгода минимум.
Re[18]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.12.14 13:59
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

AVK>>И что дальше? Ты так и не сказал что тебе не хватает в языке.

S> Контракта для динамика. Например.

S>Есть

S>
S> dynamic res = new ExpandoObject();
S>            res.Имя = "Тест ExpandoObject";
S>            res.Число = 456;
S>            res.ВСтроку = (Func<string>) (() => res.Имя );
S>


Язык это уже позволяет.

AVK>>Пример чего?

S> То что DLR это тот же нетипизированный ExpandoObject.

DLR это не убогий ExpandoObject, это намного больше. И примером тут не обойдешься. Сними шоры с глаз да изучи вопрос. Или продолжай натягивать свой ExpandoObject на все подряд.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 22.12.14 04:32
Оценка: +1
Здравствуйте, c-smile, Вы писали:

IT>>XAML — это ошибка мироздания. Надеюсь MS когда-нибудь это поймёт и сделает нормальный DSL для описания UI.

CS>HTML и CSS?

Чем оно лучше XAML?

CS>AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.


К идеалу ближе, только тотальный перехват каждого чиха не позволяет создавать что-то большое и одновременно не тормозящее.
Если нам не помогут, то мы тоже никого не пощадим.
На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 11:13
Оценка:
Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.

И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.
TypeScript нам поможет?
Что у нас в это свете с AngularJS и т.п.?
Re: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 11:40
Оценка:
AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.
Пишут на всем — .Net, Java, C++ etc etc. Каждый инструмент имеет свои плюсы и минусы, поэтому всегда нужно исходить из требований, бюджета и сроков.
Энтерпрайз бывает очень и очень разный, и не только опердень, поэтому рекомендовать конкретное решение без вводных было бы неправильно.

AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой?

Подходит. Огромный плюс в скорости развертывания новых версий у пользователей, минус — в худшем UX по сравнению с нативными платформами.
Так же к плюсам можно отнести поддержку мобильных платформ, которая сейчас становится актуальной (ибо BYOD, планшеты у манагеров и т.п.).
Роль устройств с сенсорным вводом будет только возрастать, а энтерпрайз приложения имеют обычно жизненный цикл в 10-20 лет, а то и больше — даже если сейчас начальник отдела учета Никифор Петрович по две минуты ищет на клавиатуре букву Ы, завтра он уйдет на пенсию, и на его место выйдет Николай с кредитогалакси и есть шанс поднять производительность труда Николая до невиданных высот.
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 12:13
Оценка:
B>Пишут на всем — .Net, Java, C++ etc etc. Каждый инструмент имеет свои плюсы и минусы, поэтому всегда нужно исходить из требований, бюджета и сроков.
Рекомендация исходить из требований обладает нулевой информативностью.

B>... минус — в худшем UX по сравнению с нативными платформами.

Обоснуйте. Ограничим область Windows-десктопом. Чем UX у приложения в Chrome хуже приложения, разработанного на WinForms, WPF, [ваш вариант]?
Не секрет, что часто UX в enterprise приложениях далек от удобства, в том числе, и у нативных приложений.
Возможно, в предельном случае, когда UI можно разрабатывать полностью с нуля, то нативное решение выиграет по UX. Но сейчас идет речь о enterprise, разрабатываемом небольшой командой. В этом случае нужно исходить из реалий, когда писать полностью с нуля нет возможности. В этих условиях большой вопрос, какая технология (html или другие ui движки) предлагает более короткий путь к приемлемому UX.
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 14:01
Оценка:
B>... поиск ...
Вы про какой поиск? Как раз наоборот в браузере работает стандартный Ctrl+F. Если на экране есть слово, то часто проще нажать Ctrl+F, а на дектомных формочках такой очевидной и просто функциональности нет. И, да, вы можете это реализовать самостоятельно, но это обойдется вам дорого.

B>Существенные ограничения платформы: интеграция с ОС — окна, поиск, charms и т.п., следование нативным гайдлайнам, избыточность интерфейса за счет включения UI браузера). Вы можете бороться с этим, конечно, но решение именно этих проблем вам будет стоить дороже, чем для нативных приложений.

Если всё из перечисленного несущественно, то html подходит?
Да и что такое charms?

AP>>Не секрет, что часто UX в enterprise приложениях далек от удобства, в том числе, и у нативных приложений.

B>Это, в первую очередь, следствие кривого процесса разработки (например, когда программеры заставляют заказчика писать ТЗ).
Плохие работки это плохо, да, спасибо, КО. Тем не менее, технологическая платформа тоже дает существенный вклад.
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 29.11.14 15:55
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

B>>Пишут на всем — .Net, Java, C++ etc etc. Каждый инструмент имеет свои плюсы и минусы, поэтому всегда нужно исходить из требований, бюджета и сроков.

AP>Рекомендация исходить из требований обладает нулевой информативностью.
Дык какой вопрос, такой и ответ. Ваш вопрос не намного конкретнее вопроса "на чём написать программу?"

B>>... минус — в худшем UX по сравнению с нативными платформами.

AP>Обоснуйте. Ограничим область Windows-десктопом. Чем UX у приложения в Chrome хуже приложения, разработанного на WinForms, WPF, [ваш вариант]?
На самом деле почти всегда можно _добиться_ аналогичного UX. Но ключевое слово здесь _добиться_: как только шаг влево от простых кнопок и текстбоксов, есть большой шанс провозиться долго-долго и в результате сделать хрень. Если нет опыта с фронтэндом на JS, лучше даже не пытаться — с наскока не получится.

AP>Не секрет, что часто UX в enterprise приложениях далек от удобства, в том числе, и у нативных приложений.

AP>Возможно, в предельном случае, когда UI можно разрабатывать полностью с нуля, то нативное решение выиграет по UX. Но сейчас идет речь о enterprise, разрабатываемом небольшой командой. В этом случае нужно исходить из реалий, когда писать полностью с нуля нет возможности. В этих условиях большой вопрос, какая технология (html или другие ui движки) предлагает более короткий путь к приемлемому UX.

Есть всякие Telerik/Kendo и Devexpress — наборы готовых компонентов и для веба и для WPF. Про них принято думать, что "если этого нет в демо, значит сделать будет невозможно".
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 16:08
Оценка:
A>Вариант 2. Вы техлид абстрактной команды, которая будет писать какой-то софт. Техлид, который задаёт вопрос "на чём делать UI?" o_O
Вы перешли на личности, ну тогда и я. Вы как-то странно читаете, у меня вопрос написан совсем по другому.
А если серьезно, то у меня есть опыт на разных ui технологиях. В качестве ui движка предпочтение отдаю html/css, но язык хочется статически типизированный. Печально сложилось, что на .NET/Java реализацию ui библиотек отдали криворуким разработчикам. Оно вроде работает, но не шибко....
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 16:12
Оценка:
A>Есть всякие Telerik/Kendo и Devexpress — наборы готовых компонентов и для веба и для WPF. Про них принято думать, что "если этого нет в демо, значит сделать будет невозможно".
Хочется разрабатывать/программировать ui, а не лепить из того что под руку попадется. Разрабатывать это значит постепенно меняясь создавать продукт.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 16:27
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

B>>... поиск ...

AP>Вы про какой поиск? Как раз наоборот в браузере работает стандартный Ctrl+F.
(К.О.) Этим поиском вы в базе данных ничего не найдёте. А вот нативное приложение эту комбинацию может реализовать правильно.


B>>Существенные ограничения платформы: интеграция с ОС — окна, поиск, charms и т.п., следование нативным гайдлайнам, избыточность интерфейса за счет включения UI браузера). Вы можете бороться с этим, конечно, но решение именно этих проблем вам будет стоить дороже, чем для нативных приложений.

AP>Если всё из перечисленного несущественно, то html подходит?
Да, конечно.

AP>Да и что такое charms?

http://msdn.microsoft.com/en-us/library/windows/apps/hh465424#contracts_and_charms
http://msdn.microsoft.com/en-us/library/windows/apps/hh464906
Для разработчиков основной интерес представляют Search, Share и Settings
Примеры использования в корп.приложениях:
1. Search — поиск в СЭД или в базе данных вашего приложения напрямую из ОС
2. Share — передача документа из одного приложения в другое (например, из MS Office в СЭД)
3. Settings — Стандартный способ доступа к настройкам приложения
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 16:42
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>А если серьезно, то у меня есть опыт на разных ui технологиях. В качестве ui движка предпочтение отдаю html/css, но язык хочется статически типизированный. Печально сложилось, что на .NET/Java реализацию ui библиотек отдали криворуким разработчикам. Оно вроде работает, но не шибко....

Году в 2002 мне поставили задачу сделать оффлайн-версию каталога существующего интернет-магазина на CD с сохранением внешнего вида интерфейса. Я взял Borland CBuilder, IE-шный компонент и повесил хуки на навигацию, чтобы отдавать правильные страницы. Получившийся сайт дополнил написанными на C++ компонентами для поиска, БД, автозапуском и прочими ништяками. Время работы — неделя или около того. Вы можете проделать аналогичный трюк с встроенным браузерным компонентом (благо теперь под винду у вас аж три варианта) и реализовать интерфейсную логику на любом языке, решив проблемы с латентностью и нативным UX. Сэкономите время, используя знакомый язык разметки.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 16:42
Оценка:
AP>>Да и что такое charms?
B>http://msdn.microsoft.com/en-us/library/windows/apps/hh465424#contracts_and_charms
B>http://msdn.microsoft.com/en-us/library/windows/apps/hh464906
B>Для разработчиков основной интерес представляют Search, Share и Settings
B>Примеры использования в корп.приложениях:
B>1. Search — поиск в СЭД или в базе данных вашего приложения напрямую из ОС
B>2. Share — передача документа из одного приложения в другое (например, из MS Office в СЭД)
B>3. Settings — Стандартный способ доступа к настройкам приложения
Тк Win8 это же полный провал MS. Недавно массово переходили с XP, все однозначно перешли на Win7. Я уже не говорю о провале метро для телефонов и планшетников. Чем быстрее MS прикроет это убожество под название WinRT, тем лучше для всех и для нее самой.
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 16:50
Оценка:
Здравствуйте, Baudolino, Вы писали:

B>Здравствуйте, Alexander Polyakov, Вы писали:


AP>>.... реализовать интерфейсную логику на любом языке, решив проблемы с латентностью и нативным UX. Сэкономите время, используя знакомый язык разметки.

Не работают F12 Tools. Да и девелоперские инструменты у Chrome удобнее.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 17:12
Оценка:
B>Нет смысла начинать холивар, когда можно говорить о цифрах. Доля рынка Win8+ больше чем у MacOS X и будет расти. Интерфейс Modern UI остается в Windows и будет развиваться, поэтому игнорировать его нет смысла. Windows Phone, может быть, и загнется, но не из-за интерфейса уж точно.
Цифры говорите, да пожалуйста.
Посмотри на stackoverflow количество вопросов о MetroUI и по веб стеку. Различия на два порядка.
Количество предложений о работе http://www.indeed.com/jobtrends?q=Metro+UI%2C+html5&amp;l=
Таким образом, комьюнити вокруг Metro UI просто нулевая. Т.е. согласно цифрам эту ui технологию можно спокойно игнорировать.
Re: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 29.11.14 17:50
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.


AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой


Фиксирую большой объем enterprise приложений в разработке на Sciter.

Sciter это embeddable HTML/CSS + script UI движок.


AP>TypeScript нам поможет?


В UI ? Врядли.

Да и вообще... UI надо писать на HTML/CSS и скрипте. backend приложения на C++.

AP>Что у нас в это свете с AngularJS и т.п.?


TypeScript и AngularJS как-то вмеcте не живут.

В Sciter кстати есть имплементация механизма live data binding в стиле Angular/Ember. sciter-sdk/samples/+plus/demos.
Не такое монструозное и допускает использование по месту — т.е. только там где нужно.
Re[10]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 29.11.14 18:53
Оценка:
B>Есть технологии из разряда "Берешь и делаешь", а есть технологии из разряда "Человечество осуществило посадку зонда на комету, но так и не научилось выравнивать блоки с помощью CSS". Может быть, дело и в этом?
Гриду (с данными) на html/css/ts можно полностью с нуля написать за неделю. Какой результат будет через неделю, если попытаться сделать с нуля (не используя готовый контрол) гриду на WPF?
Re[11]: На чем сейчас пишут UI в enterprise приложениях?
От: Baudolino  
Дата: 29.11.14 19:19
Оценка:
AP>Гриду (с данными) на html/css/ts можно полностью с нуля написать за неделю. Какой результат будет через неделю, если попытаться сделать с нуля (не используя готовый контрол) гриду на WPF?
Грид с данными на любом современном стеке пишется за день, максимум, с использованием широкодоступных готовых компонентов. Нечего там писать с нуля и незачем.
Re[2]: cumulative Sciter user base is around 50 mln users worldwide
От: c-smile Канада http://terrainformatica.com
Дата: 29.11.14 20:02
Оценка:
Subj собственно.

Это только по офицальным customers

И чтобы два раза не вставать, примеры из SDK которые могут представлять инетерес в Enterprise особенно:

Re: На чем сейчас пишут UI в enterprise приложениях?
От: __kot2  
Дата: 30.11.14 00:43
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:
AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.
я бы на жабоскрипте писал
Re: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 30.11.14 18:21
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.


AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.

Обычно для enterprise используется фреймворк, который умеет показывать гриды и деревья, можно такой и руками собрать, но долго это.

AP>TypeScript нам поможет?

Да

AP>Что у нас в это свете с AngularJS и т.п.?

Все ОК

Но чаще всего такие приложения делаются на базе уже готовых систем класса CMS\ECM\CRM\ERP или на конструкторах типа LightSwitch.
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 30.11.14 20:08
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, c-smile, Вы писали:


CS>>TypeScript и AngularJS как-то вмеcте не живут.


G>Да ладно? Полгода как пишу только а TS, в том числе с angular.


Data binding в AngularJS использует typeless природу JS.
Т.е. в принципе на каком-то data type domain можно это все помирить.
Но уж очень это всё... как бы сказать... карточный домик короче.

AngularJS и тотальный data binding в нём та еще засада... По определению собственно.
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 30.11.14 20:56
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, gandjustas, Вы писали:


G>>Здравствуйте, c-smile, Вы писали:


CS>>>TypeScript и AngularJS как-то вмеcте не живут.


G>>Да ладно? Полгода как пишу только а TS, в том числе с angular.


CS>Data binding в AngularJS использует typeless природу JS.

Он использует HTML, это значит внутри binding expression сложно что-либо проверить. Но в нетривальных случаях байндинг надо будет руками писать в JS, а в этом typescrpt нереально помогает.
Re: На чем сейчас пишут UI в enterprise приложениях?
От: Yoriсk  
Дата: 01.12.14 09:17
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.


Нет. Ну то есть, конечно, если вы всерьёз верите, что "настоящему программисту™ всё равно на каком языке писать и какими инструментами пользоваться©" то да, но тогда и вопрос лишен смысла.
Вообще "небольшой команде", если она не состоит на половину из ярких гуру по html/css/js на это минное поле лучше не соваться.
Re: На чем сейчас пишут UI в enterprise приложениях?
От: dalmal  
Дата: 01.12.14 10:14
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>Собственно сабж. По технологиям ограничений нет. Ограничений на схему развертывания нет. Можно только под Windows.

UI для Enterprise сейчас делают в основном в виде веб-странички в браузере. Соотственно, сейчас это html/css/js, флеш и сильверлайт мало кому нужны.
Если вдруг нужен десктоп-клиент, то это обычно делают на WPF сейчас. Не очень сложное ретрограды мастерят на WinForms, умельцы C++ делают на Qt, если их просят про UI.

AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой? Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.

AP>TypeScript нам поможет?
AP>Что у нас в это свете с AngularJS и т.п.?
Typescript поможет.
AngularJS и другие клиентские MVC-фреймворки тоже. Но потребуется время на обучение работы с ними (возможно некоторый сдвиг парадигмы).
Конечно, если вы будете их использовать надлежащим образом, а не в стиле "щас тут по быстрому наговнокодим на jquery пару ивент-хэндлеров, а потом сделаем как надо когда-нибудь", потому что тогда вам эти фреймворки будут только мешать.
Re: На чем сейчас пишут UI в enterprise приложениях?
От: milvic  
Дата: 01.12.14 14:58
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>На чем сейчас пишут UI в enterprise приложениях?

На чем только не пишут) но если бы начинал с нуля, наверное взял бы bootstrap + angularjs + asp.net mvc (web api)
AP>И подвопрос, подходит ли html/css/js для реальных enterprise приложений, разрабатываемых и развиваемых небольшой командой?
почему бы и нет? как основа для UI.
AP>Что-то типа single-page application, т.е. с существенной клиентской кодовой базой.
AP>Что у нас в это свете с AngularJS и т.п.?
AngularJS отлично укладывает в идеологию SPA + имеет кучу вкусных плюшек типа: роутинг, двухсторонний биндинг, шаблоны, mvc, тестирование.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: Abalak США  
Дата: 02.12.14 20:36
Оценка:
Здравствуйте, Baudolino, Вы писали:

B>Нет смысла начинать холивар, когда можно говорить о цифрах. Доля рынка Win8+ больше чем у MacOS X и будет расти.


И какова доля восьмерки в энтерпрайзе?
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: MozgC США http://nightcoder.livejournal.com
Дата: 04.12.14 18:22
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>На всем пишут. Самый технологичный вариант сейчас — WPF. Основное направление инвестиций МС в следующем фреймворке (который после .NET 2015) — тоже WPF.


А откуда такая информация? Можно об этом где-то подробнее почитать?
Вот в этой статье другое мнение:
http://www.codeproject.com/Articles/818281/Is-WPF-dead-the-present-and-future-of-WPF
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.12.14 18:52
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>А откуда такая информация?


Из первых рук.

MC> Можно об этом где-то подробнее почитать?


Пока, наверное, нет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.14 03:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, c-smile, Вы писали:


AP>>>TypeScript нам поможет?

CS>>В UI ? Врядли.

AVK>Откуда такой вывод?


Ну дык, эта... сын ошибок трудных...

За годы были написаны тонны UI на всяко разных строго типизированных языках.
Что-то тривиальное типа ToDo list еще можно изобразить ...
Но живую систему с кучей сущностей, да еще процведающую годами ...

AP>>>Что у нас в это свете с AngularJS и т.п.?

CS>>TypeScript и AngularJS как-то вмеcте не живут.

AVK>https://github.com/borisyankov/DefinitelyTyped/tree/master/angularjs


Блин, это уже вообще что-то запредельное ... Angular (который сам мета язык фактически) завернутый в TypeScript который тоже мета язык поверх бедного JS ...
Самому не страшно по таким конструкциям ходить?
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 05.12.14 03:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, MozgC, Вы писали:


MC>>А откуда такая информация?


AVK>Из первых рук.


У меня вот вчера клиент пришел и сказал что ему в MS посоветовали Sciter использовать
У них там UI правда своеобразный, но тем не менее.
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.12.14 06:04
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:
B>>... минус — в худшем UX по сравнению с нативными платформами.
AP>Обоснуйте. Ограничим область Windows-десктопом. Чем UX у приложения в Chrome хуже приложения, разработанного на WinForms, WPF, [ваш вариант]?
Смотря что вы хотите от UX. Например, банальный драг-н-дроп между файловой системой и веб-приложением до сих пор работает не везде.
Буфер обмена — мощнейшая вещь в productivity applications; в вебе он практически недоступен (кроме убогого текста).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 10.12.14 21:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Основное направление инвестиций МС в следующем фреймворке (который после .NET 2015) — тоже WPF.

Серьезно? MS просто издевается. То WPF чуть ли не легаси вслед за Silverlight, то теперь основное направление...
Не, ну я то только за
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 10.12.14 22:08
Оценка:
AVK>Но это весьма дорогое удовольствие. Стоимость разработки UI от того же WPF может отличаться в разы.
Как на WPF делать вот такие редактируемые формы-простыни?
На HTML довольно естественно такое верстается.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 11.12.14 12:01
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Нет. Я, в отличие от тебя, устриц пробовал. TS это очень тонкая прослойка, никаких абстракционных проблем он не создает.
Очень понравился TS. Сразу вспомнил наш спор по поводу псевдоинтерфейсов http://rsdn.ru/forum/dotnet/3172455.flat.2
Автор: Кэр
Дата: 12.11.08

Вот бы его в 1С
и солнце б утром не вставало, когда бы не было меня
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 11.12.14 16:04
Оценка:
AVK>А в чем проблема?
Как бы ты это сделал?
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Sharov Россия  
Дата: 12.12.14 10:58
Оценка:
Здравствуйте, IT, Вы писали:


IT>HTML очень просто, очень сложные — очень сложно.


Для сложных вещей существует js и сss. Или это подразумевалось?
Кодом людям нужно помогать!
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 12.12.14 11:33
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Для сложных вещей существует js и сss. Или это подразумевалось?

и мириады фреймворков, каждый со своими подходами, а то и DSL, призванных сделать из HTML хоть что-то вменяемое и заставить это все более менее сносно работать на средних объемах данных. Лично я не против HTML/JS, но не нужно строить из этого мощнейший инструмент. Инструмент — убогий, но единственный, если есть желание поставлять контент через веб на все платформы. Доказательство этому хотя-бы то, что куча всемирных сервисов, помимо портала, предлагают отдельные версии под разные ОС.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 12.12.14 13:22
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, IT, Вы писали:



IT>>HTML очень просто, очень сложные — очень сложно.


S>Для сложных вещей существует js


Не так. JS из любой вещи сделает сложную.
Re[2]: На чем сейчас пишут UI в enterprise приложениях?
От: AlexRK  
Дата: 12.12.14 13:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Самый технологичный вариант сейчас — WPF. Основное направление инвестиций МС в следующем фреймворке (который после .NET 2015) — тоже WPF.


Я хз, может я криворукий, но, попробовав WPF в нескольких среднего размера приложениях, пришел к выводу, что это какое-то унылое гавно.
Иногда приходилось копипастить целые простыни XAML-кода контролов из MSDN, чтобы сделать какие-то примитивные вещи, типа скролл-баров.
Биндинги, триггеры — все это, наверное, мощные штуки, но сделано как-то все через зад, не интуитивно (оценочное суждение).
В то же время каких-то существенных преимуществ перед WinForms не обнаружил. Понятно, что WPF позволяет сделать вращающуюся вдоль всех осей и переливающуюся всеми цветами неведомую хрень, только кому это нужно?
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 12.12.14 17:46
Оценка:
Здравствуйте, Sharov, Вы писали:

IT>>HTML очень просто, очень сложные — очень сложно.

S>Для сложных вещей существует js и сss. Или это подразумевалось?

Нет, не подразумевалось. Динамическая типизация и сложные вещи — понятия плохо совместимые. Я бы ещё понял, если бы речь шла о TypeScript, но максимум возможностей JS — это json туда/json сюда.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.12.14 00:02
Оценка:
Здравствуйте, IT, Вы писали:

IT>Я бы ещё понял, если бы речь шла о TypeScript


TypeScript от динамики польностью, увы, не спасает. Хотя и снимает ее значительную часть. Как я уже писал — TS это очень тоненькая надстройка на JS, почти прозрачная. В этом его сила и его слабость одновременно.
Если нужно именно спасение — стоит поглядеть в сторону Kotlin.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 13.12.14 04:19
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Если нужно именно спасение — стоит поглядеть в сторону Kotlin.


Для enterprise apps я бы лучше посмотрел в сторону Silverlight.
Если нам не помогут, то мы тоже никого не пощадим.
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 13.12.14 17:20
Оценка:
Здравствуйте, AndrewVK, Вы писали:

IT>>Для enterprise apps я бы лучше посмотрел в сторону Silverlight.

AVK>Учитывая что его уже давно похоронили?

Сволочи, конечно. Но даже не смотря на это — это лучший вариант, чем JS.
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.12.14 19:11
Оценка:
Здравствуйте, IT, Вы писали:

IT>Сволочи, конечно. Но даже не смотря на это — это лучший вариант, чем JS.


Только технически. А вот вкладывать бабки в технологию, которая не будет никогда развиваться я бы не стал.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 14.12.14 09:23
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, IT, Вы писали:


IT>>Я бы ещё понял, если бы речь шла о TypeScript


AVK>TypeScript от динамики польностью, увы, не спасает. Хотя и снимает ее значительную часть. Как я уже писал — TS это очень тоненькая надстройка на JS, почти прозрачная. В этом его сила и его слабость одновременно.

AVK>Если нужно именно спасение — стоит поглядеть в сторону Kotlin.
Кстати а нет ли у того же Хейлсберга желания ввести псевдоинтерфейсы (утиную типизацию) для динамиков.
Работая с теми же IDispatch или ExpandoObject контракт заранее известен, но из-за отсутствия явного применения этого контракта приходится обходиться без intellisense и синтаксического контроля. Кроме того как Хэйлсберг показывал удобно рефакторить методы и свойства
По сути то any это и есть тот же динамик, а вся надстройка TypeScript это суть псевдоинтерфейсов
и солнце б утром не вставало, когда бы не было меня
Отредактировано 14.12.2014 9:27 Serginio1 . Предыдущая версия .
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.12.14 19:00
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Кстати а нет ли у того же Хейлсберга желания ввести псевдоинтерфейсы (утиную типизацию) для динамиков.


Желание есть. Нет понимания как это встроить в систему типов дотнета. А раздувать исключительно динамики в шарпе смысла нет — это все таки статически типизированный язык.

S>Работая с теми же IDispatch или ExpandoObject контракт заранее известен


Нет, заранее неизвестен. А если известен заранее — просто кастишь к заранее декларированному интерфейсу и вперед. Структурная типизация наличествует в полный рост, на то он и IDispatch.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 15.12.14 09:24
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


S>> Кстати а нет ли у того же Хейлсберга желания ввести псевдоинтерфейсы (утиную типизацию) для динамиков.


AVK>Желание есть. Нет понимания как это встроить в систему типов дотнета. А раздувать исключительно динамики в шарпе смысла нет — это все таки статически типизированный язык.

Но динамики то есть, а улучшить работу с ними всетаки желательно.
S>>Работая с теми же IDispatch или ExpandoObject контракт заранее известен

AVK>Нет, заранее неизвестен. А если известен заранее — просто кастишь к заранее декларированному интерфейсу и вперед. Структурная типизация наличествует в полный рост, на то он и IDispatch.

Ну да у IDispatch всего два метода GetIDsOfNames и Invoke, а ExpandoObject это словарь. Но вот имена методов и свойств и параметров заранее известно, так как ты уже в коде пишешь доступ к ним через точку. Это утиная типизация. Во многих случаях это надстройка над метаданными. Тоже касается и ExpandoObject.
В том же 1С заранее известны свойства и методы объектов которые можно скодогенерировать. В свое время делал доступ через диспинтерфейсы. Конечно можно сделать типизированную обертку и над динамиком, но это дополнительная работа.
Можно было бы сделать тип DynamicInterface

DynamicInterface ПсевдоИнтерфейс
{
    void МетодБезПраметров();
    int ФункцияСПараметром(string Параметр)
}

 При приведении
var динамик=(ПсевдоИнтерфейс)ПолучитьДинамик();
динамик.МетодБезПраметров();
var res= динамик.ФункцияСПараметром("Параметр");


без псевдоинтерфейса тот же код только без типизации, без подсказок и рефакторинга.

DynamicInterface не влияет на реальную типизацию, он нужен только для Intellisence предупреждений и рефакторинга.
и солнце б утром не вставало, когда бы не было меня
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: Sharov Россия  
Дата: 15.12.14 11:34
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Если нужно именно спасение — стоит поглядеть в сторону Kotlin.


Сразу такой вопрос, может знаете: а как работать с библиотеками типа jquery, angularjs, underscore и т.д?
Как обычно или же мне нужен порт этих библиотек на Kotlin?
Кодом людям нужно помогать!
Re[10]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.12.14 12:18
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> В том же 1С заранее известны свойства и методы объектов которые можно скодогенерировать.


Я сочувствую твоему горю с 1С, но это проблема 1С, в котором большая часть контрактов статическая, но описать их в виде обычных СОМ-интерфейсов авторам религия мешает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.12.14 12:18
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Сразу такой вопрос, может знаете: а как работать с библиотеками типа jquery, angularjs, underscore и т.д?

S>Как обычно или же мне нужен порт этих библиотек на Kotlin?

Тут я, пожалуй, воздержусь — я не настолько хорошо с ним знаком.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: andyag  
Дата: 15.12.14 13:13
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, AndrewVK, Вы писали:


AVK>>Если нужно именно спасение — стоит поглядеть в сторону Kotlin.


S>Сразу такой вопрос, может знаете: а как работать с библиотеками типа jquery, angularjs, underscore и т.д?

S>Как обычно или же мне нужен порт этих библиотек на Kotlin?

Там то же самое, что и в TypeScript.
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: Sharov Россия  
Дата: 15.12.14 13:26
Оценка:
Здравствуйте, andyag, Вы писали:

A>Здравствуйте, Sharov, Вы писали:


S>>Здравствуйте, AndrewVK, Вы писали:


AVK>>>Если нужно именно спасение — стоит поглядеть в сторону Kotlin.


S>>Сразу такой вопрос, может знаете: а как работать с библиотеками типа jquery, angularjs, underscore и т.д?

S>>Как обычно или же мне нужен порт этих библиотек на Kotlin?

A>Там то же самое, что и в TypeScript.


Будьте добры развить мысль дальше, что в TypeScript? А то я не игрался еще.
Кодом людям нужно помогать!
Re[11]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 15.12.14 14:19
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


S>> В том же 1С заранее известны свойства и методы объектов которые можно скодогенерировать.


AVK>Я сочувствую твоему горю с 1С, но это проблема 1С, в котором большая часть контрактов статическая, но описать их в виде обычных СОМ-интерфейсов авторам религия мешает.


Проблема то не только в 1С тот же ExpandoObject от IDispatch мало отличается. Суть их в том, что на их основании легко сделать доступ по имени аналогично как к свойству или методу. То есть есть контракт на основании имен свойств и методов (сигнатуры) на основании словаря.
По твоему динамики не нужны?
и солнце б утром не вставало, когда бы не было меня
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: ionoy Эстония www.ammyui.com
Дата: 15.12.14 14:52
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, AndrewVK, Вы писали:


AVK>>Самый технологичный вариант сейчас — WPF. Основное направление инвестиций МС в следующем фреймворке (который после .NET 2015) — тоже WPF.


ARK>Я хз, может я криворукий, но, попробовав WPF в нескольких среднего размера приложениях, пришел к выводу, что это какое-то унылое гавно.

ARK>Иногда приходилось копипастить целые простыни XAML-кода контролов из MSDN, чтобы сделать какие-то примитивные вещи, типа скролл-баров.
ARK>Биндинги, триггеры — все это, наверное, мощные штуки, но сделано как-то все через зад, не интуитивно (оценочное суждение).
ARK>В то же время каких-то существенных преимуществ перед WinForms не обнаружил. Понятно, что WPF позволяет сделать вращающуюся вдоль всех осей и переливающуюся всеми цветами неведомую хрень, только кому это нужно?

Чтобы на XAML-подобных фреймворках было легче разрабатывать, я лично использую ReactiveUI. Там правда порог вхождения не самый низкий, зато позволяет избавиться от многих врождённых проблем XAML'а и даёт IObservable интерфейс к чему хочешь. Короче, если с RX дружишь, то это маст хэв.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[3]: На чем сейчас пишут UI в enterprise приложениях?
От: Dog  
Дата: 15.12.14 16:02
Оценка:
AVK>>Но это весьма дорогое удовольствие. Стоимость разработки UI от того же WPF может отличаться в разы.
AP>Как на WPF делать вот такие редактируемые формы-простыни?
Никак. Пожалейте пользователя.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[13]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.12.14 07:56
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


S>> Проблема то не только в 1С тот же ExpandoObject от IDispatch мало отличается.


AVK>И кому он нужен? Давно уже на DLR современные динамики дотнетные перешли. Но если тебе так печет — напиши свой биндер для него. При чем тут дизайн языка?

Пишу, но это лишние телодвижения. Подход как в TS мне больше нравится.
Ну вот в TS пошли же путем типизации динамиков. Такой мне и нужен. На дизайн языка по сути не влияет ибо DinamicInterface==dynamic только должен влиять на Intellisence, предупреждение о неправильности синтаксиса и рефакторинг. Все как в TS
S>>По твоему динамики не нужны?

AVK>По моему не нужны. Но это не имеет отношения к обсуждаемому вопросу. Поддержка динамиков в шарпе позволяет без каких либо теоретических проблем реализовать типизацию, аналогичную TypeScript. А то что для глобуса 1С никто не реализовал аналогичную сову — совсем не в языке проблема.

ExpandoObject хорош тем, что можно построить универсальный движок для вытаскивания данных например работа с XML, DataSet итд. Но зная заранее имена полей и методов мы могли бы построить псевдоинтерфейс без лишних оберток. Я не вижу здесь никакой проблемы
и солнце б утром не вставало, когда бы не было меня
Re[14]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 16.12.14 13:04
Оценка:
Здравствуйте, Serginio1, Вы писали:

AVK>>И кому он нужен? Давно уже на DLR современные динамики дотнетные перешли. Но если тебе так печет — напиши свой биндер для него. При чем тут дизайн языка?

S> Пишу, но это лишние телодвижения. Подход как в TS мне больше нравится.

Еще раз — подход как в TS более менее реализуем на текущих динамиках. Только это особо никому не интересно. Интересна структурная типизация на обычных статических типах, но это пока слишком сложно технически.

S> Ну вот в TS пошли же путем типизации динамиков. Такой мне и нужен. На дизайн языка по сути не влияет ибо DinamicInterface==dynamic только должен влиять на Intellisence, предупреждение о неправильности синтаксиса и рефакторинг.


Это уже более менее умеет Решарпер. При чем тут Хейлсберг?

S> ExpandoObject хорош тем, что можно построить универсальный движок для вытаскивания данных например работа с XML, DataSet итд.


Это позволяет и DLR. И много чего другого позволяет. Ты в очередной раз зацикливаешься на чем то, что ты когда то изучил, и перестаешь смотреть по сторонам.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[15]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 16.12.14 15:51
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


AVK>>>И кому он нужен? Давно уже на DLR современные динамики дотнетные перешли. Но если тебе так печет — напиши свой биндер для него. При чем тут дизайн языка?

S>> Пишу, но это лишние телодвижения. Подход как в TS мне больше нравится.

AVK>Еще раз — подход как в TS более менее реализуем на текущих динамиках. Только это особо никому не интересно. Интересна структурная типизация на обычных статических типах, но это пока слишком сложно технически.

Ну почему же мне интересна. И наверняка найдется куча людей которые вплотную работают с динамиками. Если ты с ними не работаешь, то понятно что тебе они и не нужны.
Типа этого? ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08

S>> Ну вот в TS пошли же путем типизации динамиков. Такой мне и нужен. На дизайн языка по сути не влияет ибо DinamicInterface==dynamic только должен влиять на Intellisence, предупреждение о неправильности синтаксиса и рефакторинг.

AVK>Это уже более менее умеет Решарпер. При чем тут Хейлсберг?

Не пользуюсь. Но введение в язык DinamicInterface и присврение имен с префиксом Di не создаст никаких проблем для чтения и понимания.
S>> ExpandoObject хорош тем, что можно построить универсальный движок для вытаскивания данных например работа с XML, DataSet итд.

AVK>Это позволяет и DLR. И много чего другого позволяет. Ты в очередной раз зацикливаешься на чем то, что ты когда то изучил, и перестаешь смотреть по сторонам.

Дай ссылку на пример пожалуйста. Но опять же повторюсь, что введение псевдоинтерфейсов самое простое средство решения контракта имен динамиков.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 16.12.2014 16:18 Serginio1 . Предыдущая версия .
Re[17]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 08:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


S>> Ну почему же мне интересна. И наверняка найдется куча людей которые вплотную работают с динамиками.


AVK>И что дальше? Ты так и не сказал что тебе не хватает в языке.

Контракта для динамика. Например.

Есть

 dynamic res = new ExpandoObject();
            res.Имя = "Тест ExpandoObject";
            res.Число = 456;
            res.ВСтроку = (Func<string>) (() => res.Имя );


Если бы у меня был псевдоинтерфейс

DynamicInterface DyExpandoObject
{
  string Имя;
  int   Число;
  Func<string> ВСтроку; 

}

Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
как при записи так и при чтении.

var res = (DyExpandoObject)new ExpandoObject();
            res.Имя = "Тест ExpandoObject";
            res.Число = 456;
            res.ВСтроку = (Func<string>) (() => res.Имя );



S>> Типа этого? ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


AVK>Что типа этого? Опять какие то обрывки мыслей. Как говорит Синклер — мне сложно разговаривать с голосами в твоей голове.

Помоему я все ясно объяснил с кодом. Данная ссылка на утинную типизацию во время выполнения.

AVK>>>Это уже более менее умеет Решарпер. При чем тут Хейлсберг?

S>> Не пользуюсь.

AVK>Сочувствую.


S>> Но введение в язык DinamicInterface и присврение имен с префиксом Di не создаст никаких проблем для чтения и понимания.


AVK>Чего блин?


Контракта на имена свойств и методов динамиков.
AVK>>>Это позволяет и DLR. И много чего другого позволяет. Ты в очередной раз зацикливаешься на чем то, что ты когда то изучил, и перестаешь смотреть по сторонам.
S>> Дай ссылку на пример пожалуйста.

AVK>Пример чего?

То что DLR это тот же нетипизированный ExpandoObject.

S>> Но опять же повторюсь, что введение псевдоинтерфейсов самое простое средство решения контракта имен динамиков.


AVK>Что такое "решение контракта имен динамиков"?

Смотри выше.
и солнце б утром не вставало, когда бы не было меня
Re[18]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 08:17
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S>как при записи так и при чтении.

Держи:
https://github.com/ekonbenefits/impromptu-interface
http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
https://connect.microsoft.com/VisualStudio/feedback/details/526307/add-automatic-generation-of-interface-implementation-via-implementing-member
Re[19]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 08:40
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S>>как при записи так и при чтении.

S>Держи:

S>https://github.com/ekonbenefits/impromptu-interface
S>http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
Это уже проходили ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


S>https://connect.microsoft.com/VisualStudio/feedback/details/526307/add-automatic-generation-of-interface-implementation-via-implementing-member

Это немного другое я предлагаю просто контракт только для Intellisence для контроля имен и получаемых типов. Ничего в CLR менять не надо.
Это почти тот же TypeScript

Если бы у меня был псевдоинтерфейс


DynamicInterface DyExpandoObject
{
  string Имя;
  int   Число;
  Func<string> ВСтроку; 

}


Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
как при записи так и при чтении.

var res = (DyExpandoObject)new ExpandoObject();
            res.Имя = "Тест ExpandoObject";
            res.Число = 456;
            res.ВСтроку = (Func<string>) (() => res.Имя );

Только на уровне IDE.

Единственно, что при получении значения при использовании DyExpandoObject

int число=res.Число;
автоматически кастилось
int число=(int)res.Число;

Этого достаточно. Тогда и волки (контракт на уровне имен) и овцы (clr) целы/
DyExpandoObject это просто подсказка IDE какие свойства и методы может иметь динамик и на основании их использовать Intellisence, предупреждение об ошибке и рефакторинг
и солнце б утром не вставало, когда бы не было меня
Отредактировано 17.12.2014 8:43 Serginio1 . Предыдущая версия .
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Jack128  
Дата: 17.12.14 08:58
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Чтобы на XAML-подобных фреймворках было легче разрабатывать, я лично использую ReactiveUI. Там правда порог вхождения не самый низкий, зато позволяет избавиться от многих врождённых проблем XAML'а и даёт IObservable интерфейс к чему хочешь.


Хм, ReactiveUI — это вроде как для описания ViewModel, а xaml — для View. Как первое может помочь избежать проблем второго??
Re[21]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 10:01
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:



S>>>https://github.com/ekonbenefits/impromptu-interface

S>>>http://www.codeproject.com/Articles/742788/Dynamic-Interface-Implementation
S>> Это уже проходили ProxyGenerator
Автор: Воронков Василий
Дата: 04.11.08


S>То, что я привёл работает, в отличие от твоего примера В том числе и с динамиками.

Но это лишняя обертка.
S>>Это почти тот же TypeScript
S>Зачем? Я вообще не вижу тут места динамикам, разве что для случая "ленивый программер забил прописать контракт для интеропа".
Еще раз есть куча IDispatch без интерейсов и даже без диспинтерфейсов. Есть универсальный доступ к XML ил и DатаSet которые я могу описать через ExpandoObject.
Но ExpandoObject не типизирован. Я хочу контроля над именами и используемыми типами которые я знаю заранее используются в конкретном ExpandoObject
S>>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
S>> как при записи так и при чтении.
S>См ссылки выше. Так оно и работает.
Это лишняя обертка.
S>> Этого достаточно. Тогда и волки (контракт на уровне имен) и овцы (clr) целы.
S>Я уже привёл ссылки. Изменений CLR не требуется.
Но создается обертка над динамиком. Лишний оверхед.
S>>DyExpandoObject это просто подсказка IDE какие свойства и методы может иметь динамик и на основании их использовать Intellisence, предупреждение об ошибке и рефакторинг
S>Берём рослин, студию 2015, реализуем свой ICompletionSourceProvider+roslyn extensions для подсветки ошибок и рефакторинга. API размечаем как
S>
S>[return:As(typeof(SomeType))] dynamic SomeMethod() { ... }
S>

S>собственно, всё. Нафига только
Но мой подхож использования DynamicInterface значительно проще использовать.
Насчет рослина обязательно посмотрю. Спасибо.
и солнце б утром не вставало, когда бы не было меня
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 17.12.14 10:21
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Например, биндинг в коде:

Выглядит ничошно. Правда смущает вот какой момент. Часть задач оно покроет, да только от XAML никуда не уйдешь все-равно. Триггеры, биндинги в стилях. Есть ли их аналоги? Если нет, то мы получаем "еще один слой абстракции" без ощутимого бенефита. И в целом, концепция прикручивания IObservable ко всему подряд, на мой взгляд, сомнительная. Ну какой смысл тащить всю эту кухню с шедулерами и подписками туда, где проще объявить обычное CLR событие.

I>Ну и самое главное, что правильно написаный на ReactiveUI код можно переносить между разными XAML фреймворками, WPF, SilverLight, WinRT, XamarinForms и тд.

А вот это серьезный аргумент в плюс
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: ionoy Эстония www.ammyui.com
Дата: 17.12.14 10:39
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, ionoy, Вы писали:


I>>Например, биндинг в коде:

MM>Выглядит ничошно. Правда смущает вот какой момент. Часть задач оно покроет, да только от XAML никуда не уйдешь все-равно. Триггеры, биндинги в стилях. Есть ли их аналоги? Если нет, то мы получаем "еще один слой абстракции" без ощутимого бенефита.

Биндингов в стилях не хватает, да. Я для себя решил, что изменяющиеся данные надо убирать из стилей и биндить напрямую. А в модели представления хранить объект, вот так:
public AppTheme Theme { get; private set; }

Такой код позволяет, например, тестировать переключение тем. У меня есть одно приложение, где к каждому объекту привязана тема, так что получается более полноценное тестирование и лучшая переносимость кода.

Ну и опять же, биндить можно к любым данным, необязательно к модели представления, так что тут можно много разных сценариев напридумывать.

А зачем что-то триггерах биндить я не знаю, можно их оставить как есть.

MM>И в целом, концепция прикручивания IObservable ко всему подряд, на мой взгляд, сомнительная. Ну какой смысл тащить всю эту кухню с шедулерами и подписками туда, где проще объявить обычное CLR событие.

Дык если тебе понадобился шедулер, значит ты и в event'е будешь что-то химичить.
Никто не заставляет прикручивать IObservable ко всему подряд, но у тебя есть такая возможность и для этого созданы все условия. Если в модели нет сложной логики, то она ничем не будет отличаться от обычной.
С другой стороны, чем больше используешь IObservable, тем больше хочется Как я раньше без этого жил, не знаю.

I>>Ну и самое главное, что правильно написаный на ReactiveUI код можно переносить между разными XAML фреймворками, WPF, SilverLight, WinRT, XamarinForms и тд.

MM>А вот это серьезный аргумент в плюс
Народ, кстати, в основном использует ReactiveUI для Xamarin приложений под iOS и Android.

Ещё из личного опыта, есть у меня одно крупное WinForms приложение, которое тоже как ни странно оказалось очень удобно писать на ReactiveUI, так как this.Bind* там работает ничуть не хуже. Получается, что на WinForms можно в полный рост использовать все преимущества MVVM.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 17.12.14 11:03
Оценка:
Здравствуйте, ionoy, Вы писали:

I>Такой код позволяет, например, тестировать переключение тем. У меня есть одно приложение, где к каждому объекту привязана тема, так что получается более полноценное тестирование и лучшая переносимость кода.

Гм. У нас, вместо темы, было ее имя, а сама тема подтягивалась расширением разметки. Таким образом, и тестируемость и отделение UI от модели.

I>А зачем что-то триггерах биндить я не знаю, можно их оставить как есть.

Биндинги в DataTrigger.

MM>>И в целом, концепция прикручивания IObservable ко всему подряд, на мой взгляд, сомнительная. Ну какой смысл тащить всю эту кухню с шедулерами и подписками туда, где проще объявить обычное CLR событие.

I>Дык если тебе понадобился шедулер, значит ты и в event'е будешь что-то химичить.
Я не совсем об этом. Немного парит ситуация, что мы для простейшего колбэка используем всё хозяйство Rx. Т.е. там, где был бы просто делегат, появляются всякие AnonymousObserver, который пуляет вызов через Scheduler, тот использует всякие Trampoline и так далее, а для отписки нам приходится хранить IDisposable.

I>С другой стороны, чем больше используешь IObservable, тем больше хочется Как я раньше без этого жил, не знаю.

Ну, возможно У меня скорее обратный этап получился. Стал использовать его только там, где реальный профит. Но в целом штука крутая — бесспорно.

I>Ещё из личного опыта, есть у меня одно крупное WinForms приложение, которое тоже как ни странно оказалось очень удобно писать на ReactiveUI, так как this.Bind* там работает ничуть не хуже. Получается, что на WinForms можно в полный рост использовать все преимущества MVVM.

И это тоже гуд.
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: ionoy Эстония www.ammyui.com
Дата: 17.12.14 11:27
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, ionoy, Вы писали:


I>>Такой код позволяет, например, тестировать переключение тем. У меня есть одно приложение, где к каждому объекту привязана тема, так что получается более полноценное тестирование и лучшая переносимость кода.

MM>Гм. У нас, вместо темы, было ее имя, а сама тема подтягивалась расширением разметки. Таким образом, и тестируемость и отделение UI от модели.
Всё так, только у меня получается что и сама тема в коде находится, то есть её спокойно можно использовать на других платформах.

I>>А зачем что-то триггерах биндить я не знаю, можно их оставить как есть.

MM>Биндинги в DataTrigger.
Тут ничего не поделаешь.

MM>>>И в целом, концепция прикручивания IObservable ко всему подряд, на мой взгляд, сомнительная. Ну какой смысл тащить всю эту кухню с шедулерами и подписками туда, где проще объявить обычное CLR событие.

I>>Дык если тебе понадобился шедулер, значит ты и в event'е будешь что-то химичить.
MM>Я не совсем об этом. Немного парит ситуация, что мы для простейшего колбэка используем всё хозяйство Rx. Т.е. там, где был бы просто делегат, появляются всякие AnonymousObserver, который пуляет вызов через Scheduler, тот использует всякие Trampoline и так далее, а для отписки нам приходится хранить IDisposable.
Если нужен простой колбек, так можно его и использовать, тогда IObservable не обязателен. У меня большинство подписок имеют дополнительную логику кроме вызова метода.

I>>С другой стороны, чем больше используешь IObservable, тем больше хочется Как я раньше без этого жил, не знаю.

MM>Ну, возможно У меня скорее обратный этап получился. Стал использовать его только там, где реальный профит. Но в целом штука крутая — бесспорно.
Разумный подход.
www.livexaml.com
www.ammyui.com
www.nemerleweb.com
Re[23]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 11:38
Оценка:
Здравствуйте, Sinix, Вы писали:

Я эти обертки и так генерю.
S>>>Берём рослин, студию 2015, реализуем свой ICompletionSourceProvider+roslyn extensions для подсветки ошибок и рефакторинга. API размечаем как
S>> Но мой подхож использования DynamicInterface значительно проще использовать.
S>Угу. Только ради него придётся половине народа в VS team и compilers team страдать фигнёй где-то с полгода минимум.
Самому то не смешно. Не надо там ни чему страдать.
Для компиляции DynamicInterface это динамик, для IDE то же что и interface.
Единственно это добавление каста при компиляции. Чего там полгода то делать?
и солнце б утром не вставало, когда бы не было меня
Re[24]: На чем сейчас пишут UI в enterprise приложениях?
От: Sinix  
Дата: 17.12.14 12:09
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Самому то не смешно. Не надо там ни чему страдать.

S>Для компиляции DynamicInterface это динамик, для IDE то же что и interface.
S>Единственно это добавление каста при компиляции. Чего там полгода то делать?
Примерно вот это.

Если серьёзно, то там будет очень много презабавной работы по выводу типов. Одних только прелестей типа
    public enum A1 { A }
    class A
    {
        public void Do(A1 a) { Console.WriteLine(a); }
        public void Do(params int[] a) { Console.WriteLine(a); }
    }

    static T Get<T>(T source) { return source; }

    public static void Main()
    {
        dynamic x = new A();
        var y = Get(x);
        y.Do(0);
        Console.WriteLine();
    }

уже достаточно.

Для полноты картины представьте, что перегрузок у Get() и у Do() несколько и что все они различаются типами.

С рослином конечно попроще будет, но один фиг приятного мало.
Re[25]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 12:22
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>> Самому то не смешно. Не надо там ни чему страдать.

S>>Для компиляции DynamicInterface это динамик, для IDE то же что и interface.
S>>Единственно это добавление каста при компиляции. Чего там полгода то делать?
S>Примерно вот это.

S>Если серьёзно, то там будет очень много презабавной работы по выводу типов. Одних только прелестей типа

S>
S>    public enum A1 { A }
S>    class A
S>    {
S>        public void Do(A1 a) { Console.WriteLine(a); }
S>        public void Do(params int[] a) { Console.WriteLine(a); }
S>    }

S>    static T Get<T>(T source) { return source; }

S>    public static void Main()
S>    {
S>        dynamic x = new A();
S>        var y = Get(x);
S>        y.Do(0);
S>        Console.WriteLine();
S>    }
S>

S>уже достаточно.

S>Для полноты картины представьте, что перегрузок у Get() и у Do() несколько и что все они различаются типами.

Но что мешает в DynamicInterface закинуть перегрузку?
Объекты с реализацией IReflect кстати прекрасно справляется определяет метод по сигнатуре. Но это при работе с классами.
Например http://files.rsdn.ru/19608/FilesForNetObjectToIDispatch.zip

У ExpandoObject таких ситуаций просто не будет. Пока речь идет про них.


А проблемы не вижу так как DynamicInterface это всего навсего уточнение. в TS IDE просто предупреждает, но транслирует в JS.
S>С рослином конечно попроще будет, но один фиг приятного мало.
Сейчас в отпуске посмотрю на рослин. Спасибо.
и солнце б утром не вставало, когда бы не было меня
Отредактировано 17.12.2014 12:24 Serginio1 . Предыдущая версия .
Re[27]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 12:54
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Serginio1, Вы писали:


S>>>Для полноты картины представьте, что перегрузок у Get() и у Do() несколько и что все они различаются типами.

S>> Но что мешает в DynamicInterface закинуть перегрузку?
S>А там проблемы не с DynamicInterface, а с разрешением перегрузок для интеллисенса. И с раздуванием количества кандидатов из-за промежуточных вызовов. Допустим, есть
S>
S>static T Get<T>(T source) { return source; }
S>static string Get(int source) { return ""; }
S>


S>ну и дальше всё как было. Для полного щастья — сюда же extension methods.


Ну а как сейчас с этим справляется IDE?
S>> Сейчас в отпуске посмотрю на рослин. Спасибо.
S>Ок. Учти, что в бете сейчас наполовину поломано всё, недели две назад официальные самплы на vs preview не работали. Исправления вроде пушили, но я не отслеживал. Ну и единственный способ получить справку до релиза — форум.
S>impromptu interface попроще будет на пару порядков (не преувеличиваю, реально так).

S>Удачи!

Спасибо
и солнце б утром не вставало, когда бы не было меня
Re[19]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 14:12
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


AVK>>>И что дальше? Ты так и не сказал что тебе не хватает в языке.

S>> Контракта для динамика. Например.

S>>Есть

S>>
S>> dynamic res = new ExpandoObject();
S>>            res.Имя = "Тест ExpandoObject";
S>>            res.Число = 456;
S>>            res.ВСтроку = (Func<string>) (() => res.Имя );
S>>


AVK>Язык это уже позволяет.

Это рабочий код. Но мне нужно то вот это

Если бы у меня был псевдоинтерфейс


DynamicInterface DyExpandoObject
{
  string Имя;
  int   Число;
  Func<string> ВСтроку; 

}


Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг
как при записи так и при чтении.

var res = (DyExpandoObject)new ExpandoObject();
            res.Имя = "Тест ExpandoObject";
            res.Число = 456;
            res.ВСтроку = (Func<string>) (() => res.Имя );



AVK>>>Пример чего?

S>> То что DLR это тот же нетипизированный ExpandoObject.

AVK>DLR это не убогий ExpandoObject, это намного больше. И примером тут не обойдешься. Сними шоры с глаз да изучи вопрос. Или продолжай натягивать свой ExpandoObject на все подряд.

Покажи пример как можно применить к динамику контракт описанный в DyExpandoObject без создания обертки? Я этот вопрос изучал
http://msdn.microsoft.com/ru-ru/library/dd233052(v=vs.110).aspx
Только никак не пойму решить для динамиков Intellisence, предупреждение об ошибке и рефакторинг без создания обертки.
Прошу совет. Вот синикс дал ссылки за что ему огромное спасибо
и солнце б утром не вставало, когда бы не было меня
Re[20]: На чем сейчас пишут UI в enterprise приложениях?
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.12.14 15:15
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S> как при записи так и при чтении.

Зачем тебе тогда вообще C#? Бери TS в руки и вперед. Ну либо какой нибудь IronPython или IronRuby, если непременно CLR нужен.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[21]: На чем сейчас пишут UI в enterprise приложениях?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 17.12.14 15:36
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Serginio1, Вы писали:


S>>Я мог бы использовать Intellisence, предупреждение об ошибке и рефакторинг

S>> как при записи так и при чтении.

AVK>Зачем тебе тогда вообще C#? Бери TS в руки и вперед. Ну либо какой нибудь IronPython или IronRuby, если непременно CLR нужен.

Не все можно решить на 1С
Вот и приходится Asp.Net MVC изучать, доступ к 1С обычно прямой (Code First), но и через Вэб сервисы и COM
Так, что TS обязательно скоро возьму. Спасибо за наводку на него.
и солнце б утром не вставало, когда бы не было меня
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: c-smile Канада http://terrainformatica.com
Дата: 22.12.14 01:53
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, AlexRK, Вы писали:


ARK>>Иногда приходилось копипастить целые простыни XAML-кода контролов из MSDN, чтобы сделать какие-то примитивные вещи, типа скролл-баров.


IT>XAML — это ошибка мироздания. Надеюсь MS когда-нибудь это поймёт и сделает нормальный DSL для описания UI.


HTML и CSS?

ARK>>Биндинги, триггеры — все это, наверное, мощные штуки, но сделано как-то все через зад, не интуитивно (оценочное суждение).


IT>Нормально там всё сделано. Не идеал, но жить можно.


AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: hrensgory Россия  
Дата: 22.12.14 11:40
Оценка:
On 22.12.2014 07:32, IT wrote:

> CS>AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.

>
> К идеалу ближе, только тотальный перехват каждого чиха не позволяет
> создавать что-то большое и одновременно не тормозящее.

Ну, не то чтобы совсем не позволяет. Но требует нефиговой квалификации,
и небыстро по факту получается, да. Особенно в первом проекте.

--
WBR,
Serge.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 22.12.14 12:11
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.

А где там триггеры?
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: MxMsk Португалия  
Дата: 22.12.14 20:28
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>>>AngularJS ближе к идеалу? биндинги, триггеры имеются ввиду.

MM>>А где там триггеры?
CS>Ну дык $watch() же. Классический trigger, нет?
Пожалуй, можно так рассматривать. Правда, на мой взгляд, на триггеры XAML больше похожи директивы с условиями. Мне не очень понятно, чем $watch Ангулара лучше. Если хочется "Ангуларовских триггеров" просто пишем обработчики событий. А вот декларативного аналога триггеров в Ангуларе почти что и нет. Или есть?
Отредактировано 22.12.2014 20:57 MxMsk . Предыдущая версия . Еще …
Отредактировано 22.12.2014 20:43 MxMsk . Предыдущая версия .
Отредактировано 22.12.2014 20:36 MxMsk . Предыдущая версия .
Re[4]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 14:49
Оценка:
IT>Здесь работает почти тот же принцип, что и с HTML. Пока делаются простые вещи, то разницы между WinForms и WPF почти нет. На WinForms даже проще делать простое. Но чем дальше в лес, тем жирнее партизаны и WinForms начинает очень быстро сливать. Например, в WPF UI логика отчуждаема от компонента и полностью заменяема и до сих пор у меня не было ни разу ни одного случая, когда мне не удавалось бы доработать любой UI компонент до нужной мне кондиции. На WinForms это очень проблематично и нужно либо искать что-то готовое, влезая в зависимость от кучу разношёрстных компонентов, либо пилить своё с нуля.
В этом ключе html/css/ts лучше обоих и WPF и Winforms. В HTML всё прозрачно, UI -- это UI, т.е. DOM. Никаких тебе "компонентов" . UI либа должна заниматься UI-ем, а не какими-то там "компонентами".

TypeScript вполне себе справляется с твоими жирными партизанами.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 28.12.14 20:01
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>В этом ключе html/css/ts лучше обоих и WPF и Winforms. В HTML всё прозрачно, UI -- это UI, т.е. DOM. Никаких тебе "компонентов" . UI либа должна заниматься UI-ем, а не какими-то там "компонентами".


HTML-ю до WPF ещё как в известной позе до известной европейской столице.

AP>TypeScript вполне себе справляется с твоими жирными партизанами.


Интересно было бы посмотреть на какой-нибудь не детский TS проект и послушать адекватное мнение тех, кто такие проекты делал. А пока это всё не более чем теория.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 20:22
Оценка:
Здравствуйте, IT, Вы писали:

AP>>TypeScript вполне себе справляется с твоими жирными партизанами.

IT>Интересно было бы посмотреть на какой-нибудь не детский TS проект и послушать адекватное мнение тех, кто такие проекты делал. А пока это всё не более чем теория.
У меня проекты на ts есть. Тот же js, только быстрее писать за счет дефинишенов и меньшего количества ошибок.
Re[5]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 20:29
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>В этом ключе html/css/ts лучше обоих и WPF и Winforms. В HTML всё прозрачно, UI -- это UI, т.е. DOM. Никаких тебе "компонентов" . UI либа должна заниматься UI-ем, а не какими-то там "компонентами".

Тем не менее каждый второй фреймворк реализует компоненты. Уже долго до того, что webcomponents в стандарт включают.

Так что WPF близок к идеалу с точки зрения создателя интерфейса. Но, к сожалению, крайне далек с точки зрения пользователя.
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 28.12.14 20:36
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>У меня проекты на ts есть. Тот же js, только быстрее писать за счет дефинишенов и меньшего количества ошибок.


Насколько масштабны эти проекты? Сам понимаешь, json туда/json сюда интересует не сильно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 20:45
Оценка:
IT>HTML-ю до WPF ещё как в известной позе до известной европейской столице.
Пора перейти к коду.
Вот стандартный пример из html мира Todo application. Повтори ровно такой же look на WPF.
Можем обратно. Приведи свой пример, попробую сделать его на HTML.

IT>Интересно было бы посмотреть на какой-нибудь не детский TS проект и послушать адекватное мнение тех, кто такие проекты делал. А пока это всё не более чем теория.

Эту песню уже давно поют, Фаулер уже лет 15 про свою жирную модель поет, типа я не могу явно показать, но это нечто безумно рулит на больших проектах. Неубедительно.
А потом с приходом типизации оказывается целые куски, такие как DAL смысла, не имеют. Похожее TypeScript делает на UI.

Кстати Todo application на чистом html и ts одно удовольствие делать, всё прямолинейно, интуитивно и прозрачно.
Re[6]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 20:53
Оценка:
G>Тем не менее каждый второй фреймворк реализует компоненты.
Для TypeScript эти фрейворки не нужны, только мешают.

G>... Уже долго до того, что webcomponents в стандарт включают.

Именно, еще долго. А точнее, до реального майнстрима никогда не дойдет, сольется как, например, UML.

>Так что WPF близок к идеалу с точки зрения создателя интерфейса.

Не сильно часто такие одаренные создатели встречаются в природе.
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: IT Россия linq2db.com
Дата: 28.12.14 21:00
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

IT>>HTML-ю до WPF ещё как в известной позе до известной европейской столице.

AP>Пора перейти к коду.
AP>Вот стандартный пример из html мира Todo application. Повтори ровно такой же look на WPF.

Что это за хрень, что делает, зачём? И при чём тут look?

AP>Можем обратно. Приведи свой пример, попробую сделать его на HTML.


У тебя на компе студия стоит? Напиши её на HTML. Или что-то Word/Excel подобное.

IT>>Интересно было бы посмотреть на какой-нибудь не детский TS проект и послушать адекватное мнение тех, кто такие проекты делал. А пока это всё не более чем теория.

AP>Эту песню уже давно поют, Фаулер уже лет 15 про свою жирную модель поет, типа я не могу явно показать, но это нечто безумно рулит на больших проектах. Неубедительно.
AP>А потом с приходом типизации оказывается целые куски, такие как DAL смысла, не имеют. Похожее TypeScript делает на UI.

Ты случаем не путаешь многозвенку с десктопом?

AP>Кстати Todo application на чистом html и ts одно удовольствие делать, всё прямолинейно, интуитивно и прозрачно.


Я вообще не понял что оно делает и зачем
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 21:04
Оценка:
G>У меня проекты на ts есть. Тот же js, только быстрее писать за счет дефинишенов и меньшего количества ошибок.
Быстрый набор текста и отлов опечаток это минорные фичи. Главное -- навигация по элементам кода и безопасный рефакторинг -- это главные фичи статической типизации.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 21:08
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

G>>У меня проекты на ts есть. Тот же js, только быстрее писать за счет дефинишенов и меньшего количества ошибок.

AP>Быстрый набор текста и отлов опечаток это минорные фичи. Главное -- навигация по элементам кода и безопасный рефакторинг -- это главные фичи статической типизации.

Рефакторинг пока только один — переименование, и R# успешно умеет переименовывать и в JS. Навигация и без TS прекрасно работает.

Обе фичи по сути не требуют типизации, они требуют только парсинга исходников, что и так есть в студии и расширениях.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 21:11
Оценка:
IT>Что это за хрень, что делает, зачём? И при чём тут look?
Там можно выбрать реализацию на любом фрейворке и поиграться, например, http://todomvc.com/examples/angularjs/#/
Можно вводить todo-шки, редактировать, отмечать как выполненные, фильтровать и т.д., поиграйся сам всё увидишь.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 21:11
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, gandjustas, Вы писали:


G>>У меня проекты на ts есть. Тот же js, только быстрее писать за счет дефинишенов и меньшего количества ошибок.


IT>Насколько масштабны эти проекты? Сам понимаешь, json туда/json сюда интересует не сильно.


На сегодня около 10к строк, angularjs с кучей доп. модулей и jquery ui.

Реально заметен такой эффект — месяц пишешь на TS, потом берешь голый JS и скорость не меняется.
Re[7]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 21:13
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

G>>Тем не менее каждый второй фреймворк реализует компоненты.

AP>Для TypeScript эти фрейворки не нужны, только мешают.

Ты чтонить сложнее helloworld делал то?

G>>... Уже долго до того, что webcomponents в стандарт включают.

AP>Именно, еще долго. А точнее, до реального майнстрима никогда не дойдет, сольется как, например, UML.
Дойдет, гугл активно пушит.

>>Так что WPF близок к идеалу с точки зрения создателя интерфейса.

AP>Не сильно часто такие одаренные создатели встречаются в природе.
Ну да, после "компонентной модели", насаженной делфями, очень сложно включать голову в процессе разработки интерфейса.
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 21:19
Оценка:
G>Рефакторинг пока только один — переименование, и R# успешно умеет переименовывать и в JS. Навигация и без TS прекрасно работает.
G>Обе фичи по сути не требуют типизации, они требуют только парсинга исходников, что и так есть в студии и расширениях.
Без статической типизации навигация не достаточно точная. Много мусора, который приходится дополнительно отфильтровывать человеку.
Под рефакторингом я понимаю весь процесс внесения изменений в код. Со статической типизацией процесс изменений можно разбить на шаги, которые либо контролируются компилятором, либо вероятность ошибки крайне мала, в итоге изменения можно вносить без опаски что-то поломать.
Понятно, почему для тебя ts это "тот же js", ты просто не пользуешься главными фичами на полную мощь.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 21:27
Оценка:
AP>>Для TypeScript эти фрейворки не нужны, только мешают.
G>
G>Ты чтонить сложнее helloworld делал то?
Делал. А вот у тебя, действительно, смешное сочетание AngularJS+TypeScript. Это как молоко с селедкой.
Похоже ты надергал технологии по популярности, а то что они несочетающиеся ты не замечаешь.
Re[8]: На чем сейчас пишут UI в enterprise приложениях?
От: Alexander Polyakov  
Дата: 28.12.14 21:38
Оценка:
IT>У тебя на компе студия стоит? Напиши её на HTML. Или что-то Word/Excel подобное.
На Silverlight этого тоже нет.
А студия и офис в браузере есть и от гугла и от майкрософт.
Re[10]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 21:41
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

G>>Рефакторинг пока только один — переименование, и R# успешно умеет переименовывать и в JS. Навигация и без TS прекрасно работает.

G>>Обе фичи по сути не требуют типизации, они требуют только парсинга исходников, что и так есть в студии и расширениях.
AP>Без статической типизации навигация не достаточно точная. Много мусора, который приходится дополнительно отфильтровывать человеку.
Счего бы? Структура кода от типизации не зависит. Вообще было бы странно, если было бы иначе.

AP>Под рефакторингом я понимаю весь процесс внесения изменений в код. Со статической типизацией процесс изменений можно разбить на шаги, которые либо контролируются компилятором, либо вероятность ошибки крайне мала, в итоге изменения можно вносить без опаски что-то поломать.

AP>Понятно, почему для тебя ts это "тот же js", ты просто не пользуешься главными фичами на полную мощь.
Я всеми фичами пользуюсь. Более того, я делаю дефинишены для SharePoint (около 120к строк кода на JS), пользуюсь ts в версии 0.4 или даже 0.3 и уже собаку съел на навигации в JS.
Re[9]: На чем сейчас пишут UI в enterprise приложениях?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.12.14 21:43
Оценка:
Здравствуйте, Alexander Polyakov, Вы писали:

AP>>>Для TypeScript эти фрейворки не нужны, только мешают.

G>>
G>>Ты чтонить сложнее helloworld делал то?
AP>Делал. А вот у тебя, действительно, смешное сочетание AngularJS+TypeScript. Это как молоко с селедкой.
AP>Похоже ты надергал технологии по популярности, а то что они несочетающиеся ты не замечаешь.

С чего ты взял, что оно не сочетается? Как раз наоборот, когда пишешь контроллеры\сервисы, то discoverability, который дает TS очень сильно помогает писать angular-код.
Походу ты действительно ничего кроме helloworld не делал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.