Re[32]: Программы в сохраненной html-странице -- почему не р
От: vdimas Россия  
Дата: 03.04.17 11:25
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>Лучше бы было проверить, чем писать сюда очередное бессмысленное сообщение.

S>Проверил http://rsdn.org/forum/flame.comp/6744672.1
Автор: Serginio1
Дата: 02.04.17


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


V>>И да, существующие дотнетные обертки — они оборачивают нейтивный код, ес-но, а никакой не JS.

S>Угу при этом создаются и добавляются именно объекты JS

Нет и еще раз нет.

Это у тебя идёт работа с JS.
Потому что ты лентяй, который пошел по кратчайшему (якобы кратчайшему) пути.
В итоге твой путь вышел на порядок длиннее.


V>>Выходит, ты работал с некоей технологией, но всё-равно обломался на неё толком посмотреть.

S>Да да. Ты только болтун

Болтун тут только ты. Потому что склонен забалтывать суть вещей.
Твоя беготня от прямого обсуждения вещей технического и есть то самое бессовестное трольство.
Причем, ты так хитро бегаешь, что на самом деле не убегаешь никуда, а лишь пережидаешь "опасный момент", а потом, блин, опять начинаешь гнать ту же самую пургу, на которую тебе уже подробно отвечали.
Такое времяпрепровождение — это форменный идиотизм.
Тебе уже были даны аргументы — отвечай на них.
Не в состоянии ответить? — всё ясно, слился.


S>>>https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md


ЧТД. Т.е. На саму технологию ты так и не взглянул, ограничился биндом к JS.
Так и запишем...

Судя по твоему коду, ты поленился сделать самое главное в своей задаче — разобраться с GUI-библиотекой браузера. Многократное рука-лицо.


V>>Очередное проявление бессовестности.

V>>Давать ссылку и не удосуживаться прочесть инфу по ней хотя по диагонали.
S>И что тапм не так?

Там обсуждается биндинг сугубо к JS, хотя я тебе раз сто повторил уже, что эта прослойка для твоей задачи не нужна от слова совсем.
Ты же сам сформулировал задачу таким образом, что тебе надо кроссплатформенно переиспользовать свои наработки на C#.
Ну и при чём тут тогда вообще JS и галимый v8?

Или даже не в состоянии сформулировать задачу?


S>прежде чем заявлять о бессовестности покажи, что там не так. Я же даю СВОЙ код и знаю как устроено.


Что именно тебе не понятно из предыдущего абзаца?

Скажем так, до этого сообщения мне казалось, что ты злостно троллишь, когда делаешь вид, что не понимаешь, чем C#-обертка над нейтивной GUI-библиотекой отличается от того, что сделал ты.

Ан, нет, похоже, ты ДЕЙСТВИТЕЛЬНО не понимаешь ни хрена... Вау...
Вот это расклады...


V>>А я здесь причем? Это ж ты такое условие поставил несколькими сообщениями выше и в этом топике тоже.

V>>Тебе оно нужно якобы для кроссплатформенности.
S>Да при том, что я говорю о браузере, а не контороллере.

Ты наводишь тень на плетень в попытке оправдаться.
Будь мужиком, скажи честно — так мол и так, где я где увидел при беглом просмотре куда можно задешево "присосаться" к GUI, там и "присосался".

Но когда тебе говорят, что это можно было бы сделать напрямую, а не через обходной путь JS, то тебе надо было спросить — "а как напрямую"?
А ты чем занят?
Ты упорно делаешь вид, что ваапще не понимаешь, о чем речь.
Ну или действительно не понимаешь.


V>>Потому что ты вовсе не UWP имеешь ввиду во всей этой беседе, а банальный нейтивный WinRT.

V>>И мне уже порядком надоело продираться сквозь чащу твоей неточности и поверхностности, положа руку на.
S>

Во-во, опять не понимаешь, о чем речь.
UWP — это маркетинг, а WinRT — это технология описания АПИ ОС.
А Windows RT — это винды для ARM.
Всё три аббревиатуры обозначают разное.

Так вот, ты запросто можешь писать на WPF для UWP:
https://www.hanselman.com/blog/HowToCallWinRTAPIsInWindows8FromCDesktopApplicationsWinRTDiagram.aspx
Не знал ведь? ))
Потому что подходящего "шаблона" в Студии нет?
А руками зависимости и target прописать — это высшая математика? ))

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

Просто дело в том, что на любом даже "обрезанном" Windows RT — планшете можно установить полноценный дотнет.


V>>Ты предлагал некие результаты своих экспериментов.

V>>А я тебе объяснял, почему не надо их предлагать.
V>>Потому что если бы ты поставил себе себе задачу нормально, то ты бы её решил малость по-другому.
S>Я тебе показывал решение, которое ты даже не удосужился просмотреть, но сразу начал хаять

Я посмотрел,смирись. Всё было просмотрено, вердикт выдан.
Ты решил не ту задачу, которую требовалось решить согласно твоей собственной формулировке.
Я же говорю — у тебя лишь результат неких хаотических игрищ с дотнетом и CEF.


V>>Как бы так подобрать сюда эпитеты, чтобы меня не забанили? ))

V>>Ну ты хоть порассуждал бы...
V>>Из JS недоступно никакой другой функциональности кроме той, которую экспортируют в его контекст исполнения, так?
V>>Т.е., прежде чем что-то станет доступно из JS, оно должно быть доступно и без JS, напрямую, верно?

S>А что по твоему напрямую? По твоему нужно держать две модели одну на JS другую на нативе?


Ну конечно!
https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/browser-element/BrowserElementChild.js
https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/browser-element/BrowserElementParent.js

А вот пример ответной части из нейтива:
https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/canvas/WebGL1Context.h

Обрати внимание на virtual JSObject* WrapObject(...)

Так вот, тебе вся эта двойная хрень не требуется совершенно.
Да просто чтобы передать банальное значение простого типа в JS нужно ужас сколько всего сделать:
https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/bindings/ToJSValue.cpp

В то время как ты можешь маршаллить простые типы и структуры из/в C#/нейтив как есть, простым копированием или даже по простой ссылке, без копирования. У тебя есть чудеснейшая возможность пользоваться нейтивным кодом практически напрямую из C#.

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


S>Это как в .Net держать и манагед и натив одновременно. Так было в начале, но потом натив используется очень мало.


В C# достаточно разработать ограниченное кол-во disposable-оберток над нейтивными типами — элементами GUI библиотеки.

Ну не знаю, вот тыкнул первую попавшуюся из гугла ссылку на "чистую нейтивную обертку", т.е. без всяких COM-объектов:
https://www.codeproject.com/Articles/24536/Low-Latency-Audio-using-ASIO-Drivers-in-NET

Ну или посмотри через dotPeek реализацию дотнетных оберток над нейтивными WinRT интерфейсом.


S>Во во поподробнее. Значит SomeNodeType, а JS объект будет оберткой над нативом? Зачем двойная диспетчеризация.


Это у тебя двойная диспетчеризация сейчас, потому что у тебя целевой код на C#, но работает он через прослойку JS.


S>Тогда зачем ты используешь dynamic а не интерфейсы?


Потому что COM-библиотеке MSHTML стукнуло 20 лет, а на момент её разработки не было никаких селекторов.
Я просто сэкономил ровно пару строк кода, работая с DOM через более современное АПИ.
Но ты-то можешь предоставить в C# любое АПИ, какое тебе надо, верно? И дергать его типизированно.
Я же там часть кода дёргаю вполне типизировано, если заметил, где старого АПИ хватило.


S>То есть мои статьи ты не читаешь, но споришь?


Ты опять мне хамишь, столь смело делая за меня некие предположения.


V>>Потому что ты ни исследования имеющихся решений под CEF не провел, ни архитектуру самого CEF смотреть не стал.

V>>Потому что ты неисправимый лентяй.
S> Так покажи.

Так я давал уже ссылки на GeckoFX.


S>>>Для Net Core нет GUI.

V>>С чего ты взял-то?
S>Я тебе приводил авалонию, но она в альфе. Приводи свой пример.

Так, ДЕЙСТВИТЕЛЬНО не смотрел ни одной дотнетной GUI-либы, кроме WinForms или WPF?
Это рука-лицо много раз.
Гуглить хотя бы GtkSharp или GTK#.
Это тонкие обертки над нейтивной GUI-либой.
В исходниках.
Покажи мне, что помешает собрать эти тонкие либы под Net Core?


S>>>Есть Mono. Но он WebForms и умирающая технология с поддержкой 4.5.

V>>GUI и Mono как связаны?
S>Как WebForm// Как ссылк которые ты давал на контрол браузера для МОНО

Брехня. Я давал ссылки на сам проект, где лежат его исходники, которые являются компилябельными как под виндовый дотнет, так и под моно, так и под Core, так и под вообще подо что угодно. Потому что единственное что требуется для таких оберток — это дотнетный Interop, а он идёт самый первый в любом дотнетном фреймворке, ы-ы-ы.


V>>Сколько дотнетных оберток над нейтивными GUI-либами ты вообще смотрел?

V>>Их же много десятков.
S> Покажи для .Net Core

Любая из них подходит под .Net Core.
Это ты мне покажи, какая из них откажется скомпиллироваться на Net Core.


V>>Если в Net Core есть стандартный интероп, то все эти десятки либ автоматом доступны из Net Core.

S>Нужно сделать обертки.

Их нужно скомпиллить, а не сделать.


S>Пока Авалония только в альфе


Сравнил фигню с пальцем.
Авалония — это очередная наколенная поделка, которая скорее всего никогда так и не будет доведена до ума.
Я же тебе давал ссылки на достаточно mature проекты.


S>И я. К сожалению, я был большего мнения о тебе.


К сожалению, ты был большего мнения о себе.
А по факту разучился впитывать любую новую информацию.
Re[32]: Программы в сохраненной html-странице -- почему не р
От: vdimas Россия  
Дата: 03.04.17 11:31
Оценка: -1
Здравствуйте, Serginio1, Вы писали:

V>>Это один из любимых вопросов по WPF:

V>>http://stackoverflow.com/questions/4225867/how-can-i-turn-binding-errors-into-runtime-exceptions
V>>http://stackoverflow.com/questions/19274594/turn-wpf-binding-error-into-runtime-exception-not-working-on-published-released

V>>Попробуешь еще раз?

S>Попробуй сам.

Так вот же ссылки, специально оставил в процитированном.


S>Я тебе не из головы выдумал. И ошибки показал.


Ты показал некие зачатки простейшей валидации.
А я тебе даю ссылки (а их очень много в гугле вывалилось), что у людей валидация в comple-time прошла, а в рантайме сыпет ошибками.
Причем, вопрос у всех один и тот же — а как перехватить ошибку валидации в виде обычного исключения-то?? )))


S>Кроме того UWP не совсем WPF, но XAML почти тот же. Нет времени проверять WPF. Там кстати и версия .Net 4,5,1


Отучайся говорить глупости. Не UWP, а WinRT.
Одно не означает другого, даже если ты в Студии взял UWP-шаблон.
Это просто такое название шаблона проекта, который подключает сборки для WinRT.
Ты можешь точно так же сделать своими ручками, без всякого шаблона UWP. Это не сложно. ))
Re[33]: Программы в сохраненной html-странице -- почему не р
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.04.17 12:03
Оценка:
Здравствуйте, vdimas, Вы писали:

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


V>>>Лучше бы было проверить, чем писать сюда очередное бессмысленное сообщение.

S>>Проверил http://rsdn.org/forum/flame.comp/6744672.1
Автор: Serginio1
Дата: 02.04.17


V>Хреново проверил, я тебе ссылки дал.


Я тебе привожу РЕАЛЬНЫЙ код. Ты мне ссылки 3 х летней давности.
И при этом говришь о совести.

V>>>И да, существующие дотнетные обертки — они оборачивают нейтивный код, ес-но, а никакой не JS.

S>>Угу при этом создаются и добавляются именно объекты JS

V>Нет и еще раз нет.

То есть JS являются обертками над нативом. Кстати какой там для них GC или подсчет ссылок?
V>Это у тебя идёт работа с JS.
V>Потому что ты лентяй, который пошел по кратчайшему (якобы кратчайшему) пути.
V>В итоге твой путь вышел на порядок длиннее.



V>>>Выходит, ты работал с некоей технологией, но всё-равно обломался на неё толком посмотреть.

S>>Да да. Ты только болтун

V>Болтун тут только ты. Потому что склонен забалтывать суть вещей.

V>Твоя беготня от прямого обсуждения вещей технического и есть то самое бессовестное трольство.
V>Причем, ты так хитро бегаешь, что на самом деле не убегаешь никуда, а лишь пережидаешь "опасный момент", а потом, блин, опять начинаешь гнать ту же самую пургу, на которую тебе уже подробно отвечали.
V>Такое времяпрепровождение — это форменный идиотизм.
V>Тебе уже были даны аргументы — отвечай на них.
V>Не в состоянии ответить? — всё ясно, слился.

Где ссылки на свои утверждения. Я тебе кучу ссылок приводил.

S>>>>https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md


V>ЧТД. Т.е. На саму технологию ты так и не взглянул, ограничился биндом к JS.

V>Так и запишем...

Так и что записываем ты хоть расскажи. Интересно ведь.
V>Судя по твоему коду, ты поленился сделать самое главное в своей задаче — разобраться с GUI-библиотекой браузера. Многократное рука-лицо.

Ну да покажи ка свое творение на использование натива из браузера, а не испоьзование браузера как контрола.

V>>>Очередное проявление бессовестности.

V>>>Давать ссылку и не удосуживаться прочесть инфу по ней хотя по диагонали.
S>>И что тапм не так?

V>Там обсуждается биндинг сугубо к JS, хотя я тебе раз сто повторил уже, что эта прослойка для твоей задачи не нужна от слова совсем.

V>Ты же сам сформулировал задачу таким образом, что тебе надо кроссплатформенно переиспользовать свои наработки на C#.
V>Ну и при чём тут тогда вообще JS и галимый v8?

Мне нужно вызвать из JS манагед код.
Ага который использует JS объекты. Казалосьбы причем тут JS?


V>Или даже не в состоянии сформулировать задачу?


Ну вроде как понятно использование .Net классов из TS/ Что не понятно?
Но ты начинаешь развивать свое видение, которое никакого отношения к задаче не имеет.
S>>прежде чем заявлять о бессовестности покажи, что там не так. Я же даю СВОЙ код и знаю как устроено.

V>Что именно тебе не понятно из предыдущего абзаца?


Я вижу только твою бессовестность.
V>Скажем так, до этого сообщения мне казалось, что ты злостно троллишь, когда делаешь вид, что не понимаешь, чем C#-обертка над нейтивной GUI-библиотекой отличается от того, что сделал ты.

V>Ан, нет, похоже, ты ДЕЙСТВИТЕЛЬНО не понимаешь ни хрена... Вау...

V>Вот это расклады...

Ну только ты один всезнайка.

V>>>А я здесь причем? Это ж ты такое условие поставил несколькими сообщениями выше и в этом топике тоже.

V>>>Тебе оно нужно якобы для кроссплатформенности.
S>>Да при том, что я говорю о браузере, а не контороллере.

V>Ты наводишь тень на плетень в попытке оправдаться.

V>Будь мужиком, скажи честно — так мол и так, где я где увидел при беглом просмотре куда можно задешево "присосаться" к GUI, там и "присосался".

V>Но когда тебе говорят, что это можно было бы сделать напрямую, а не через обходной путь JS, то тебе надо было спросить — "а как напрямую"?

V>А ты чем занят?
V>Ты упорно делаешь вид, что ваапще не понимаешь, о чем речь.
V>Ну или действительно не понимаешь.


V>>>Потому что ты вовсе не UWP имеешь ввиду во всей этой беседе, а банальный нейтивный WinRT.

V>>>И мне уже порядком надоело продираться сквозь чащу твоей неточности и поверхностности, положа руку на.
S>>

V>Во-во, опять не понимаешь, о чем речь.

V>UWP — это маркетинг, а WinRT — это технология описания АПИ ОС.
V>А Windows RT — это винды для ARM.
V>Всё три аббревиатуры обозначают разное.

Еще раз я говорю об UWP/ Оно имеет свое определение которое работает только на семействе Win 10.
Под приложением UWP понимается GUI с использованием XAML
V>Так вот, ты запросто можешь писать на WPF для UWP:
V>https://www.hanselman.com/blog/HowToCallWinRTAPIsInWindows8FromCDesktopApplicationsWinRTDiagram.aspx
V>Не знал ведь? ))
V>Потому что подходящего "шаблона" в Студии нет?
V>А руками зависимости и target прописать — это высшая математика? ))

Я стебя.. Я привел ошибку в тексе которой есть COM.
Это говорит о том, что ты даже не читаешь о чем я пишу. Ты правда думаешь, что я не знаю, что такое WinRT?
И при этом говоришь о совести.

V>Никакие шаблоны Студии разработчику не нужны, можно создать пустой проект и настроить используемые версии фреймворков.

V>А нужные зависимости и так часто добавлять руками приходится, т.е. занятие это привычное, поди.
И какие же версии в UWP?
И кстати например DataGrid UWP не поддерживает. Как впрочем .Net Core не поддерживате DataTable/

V>Просто дело в том, что на любом даже "обрезанном" Windows RT — планшете можно установить полноценный дотнет.


Полноценный нельзя! Это вообще песочница со многими ограничениями.
Например по файловой системе
https://metanit.com/sharp/uwp/12.1.php

V>>>Ты предлагал некие результаты своих экспериментов.

V>>>А я тебе объяснял, почему не надо их предлагать.
V>>>Потому что если бы ты поставил себе себе задачу нормально, то ты бы её решил малость по-другому.
S>>Я тебе показывал решение, которое ты даже не удосужился просмотреть, но сразу начал хаять

V>Я посмотрел,смирись. Всё было просмотрено, вердикт выдан.

V>Ты решил не ту задачу, которую требовалось решить согласно твоей собственной формулировке.
V>Я же говорю — у тебя лишь результат неких хаотических игрищ с дотнетом и CEF.


V>>>Как бы так подобрать сюда эпитеты, чтобы меня не забанили? ))

V>>>Ну ты хоть порассуждал бы...
V>>>Из JS недоступно никакой другой функциональности кроме той, которую экспортируют в его контекст исполнения, так?
V>>>Т.е., прежде чем что-то станет доступно из JS, оно должно быть доступно и без JS, напрямую, верно?

S>>А что по твоему напрямую? По твоему нужно держать две модели одну на JS другую на нативе?


V>Ну конечно!

V>https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/browser-element/BrowserElementChild.js
V>https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/browser-element/BrowserElementParent.js
Смотрел и ничего не нашел.
V>А вот пример ответной части из нейтива:
V>https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/canvas/WebGL1Context.h

V>Обрати внимание на virtual JSObject* WrapObject(...)


JSObject это что?

Еще раз ты утверждаешь, что в браузере существует две модели.
Основными являются нативные, а JS это обертка над нативными?

И учитвываем, что JS объекты могут компилироваться в натив.
Ну так это оберка над чем, Над

V>Так вот, тебе вся эта двойная хрень не требуется совершенно.

V>Да просто чтобы передать банальное значение простого типа в JS нужно ужас сколько всего сделать:
V>https://hg.mozilla.org/releases/mozilla-beta/file/39c86569861c/dom/bindings/ToJSValue.cpp

V>В то время как ты можешь маршаллить простые типы и структуры из/в C#/нейтив как есть, простым копированием или даже по простой ссылке, без копирования. У тебя есть чудеснейшая возможность пользоваться нейтивным кодом практически напрямую из C#.



Ты мне объясняешь как детсадовцу. Если бы посмотрел код то я как раз все это маршалю, а объекты передаю индекс в хроанилище и оборачиваю через JS объект.
V>Но ты упорно от этой возможности отказываешься и предпочитаешь потратить тонну тиков процессора даже для простого получения значения int.

Угу. У меня весь код в .Net, а на вызов пару методов тратися немного кода. Скорости хватает.

S>>Это как в .Net держать и манагед и натив одновременно. Так было в начале, но потом натив используется очень мало.


V>В C# достаточно разработать ограниченное кол-во disposable-оберток над нейтивными типами — элементами GUI библиотеки.


Это ты все WinForms вспоминаеь. Он уже умер.
V>Ну не знаю, вот тыкнул первую попавшуюся из гугла ссылку на "чистую нейтивную обертку", т.е. без всяких COM-объектов:
V>https://www.codeproject.com/Articles/24536/Low-Latency-Audio-using-ASIO-Drivers-in-NET

Казалось бы при чем тут .Net Core, Линукс?
V>Ну или посмотри через dotPeek реализацию дотнетных оберток над нейтивными WinRT интерфейсом.

Еще раз причем тут .Net Core, Линукс?

Для десктопа есть UWP,WPF.

S>>Во во поподробнее. Значит SomeNodeType, а JS объект будет оберткой над нативом? Зачем двойная диспетчеризация.


V>Это у тебя двойная диспетчеризация сейчас, потому что у тебя целевой код на C#, но работает он через прослойку JS.


Я спрашиваю, как хранится SomeNodeType и как осуществляется доступ из JS

S>>Тогда зачем ты используешь dynamic а не интерфейсы?


V>Потому что COM-библиотеке MSHTML стукнуло 20 лет, а на момент её разработки не было никаких селекторов.

V>Я просто сэкономил ровно пару строк кода, работая с DOM через более современное АПИ.
V>Но ты-то можешь предоставить в C# любое АПИ, какое тебе надо, верно? И дергать его типизированно.
V>Я же там часть кода дёргаю вполне типизировано, если заметил, где старого АПИ хватило.

А то есть COM интерфейсов 20 лет назад не было?

S>>То есть мои статьи ты не читаешь, но споришь?


V>Ты опять мне хамишь, столь смело делая за меня некие предположения.

Посмотри на себя.

V>>>Потому что ты ни исследования имеющихся решений под CEF не провел, ни архитектуру самого CEF смотреть не стал.

V>>>Потому что ты неисправимый лентяй.
S>> Так покажи.

V>Так я давал уже ссылки на GeckoFX.


GeckoFX это контрол. И его нельзя использовать из .Net Core.
Но ты упорно это игнорируешь. А потом говоришь о совести.
S>>>>Для Net Core нет GUI.
V>>>С чего ты взял-то?
S>>Я тебе приводил авалонию, но она в альфе. Приводи свой пример.

V>Так, ДЕЙСТВИТЕЛЬНО не смотрел ни одной дотнетной GUI-либы, кроме WinForms или WPF?

V>Это рука-лицо много раз.
V>Гуглить хотя бы GtkSharp или GTK#.
V>Это тонкие обертки над нейтивной GUI-либой.
V>В исходниках.
V>Покажи мне, что помешает собрать эти тонкие либы под Net Core?

Вот и я думаю почему это кроме авалонии нет других проектов.
Опять же ты говоришь о возможности, но реальных продуктов нет.

S>>>>Есть Mono. Но он WebForms и умирающая технология с поддержкой 4.5.

V>>>GUI и Mono как связаны?
S>>Как WebForm// Как ссылк которые ты давал на контрол браузера для МОНО

V>Брехня. Я давал ссылки на сам проект, где лежат его исходники, которые являются компилябельными как под виндовый дотнет, так и под моно, так и под Core, так и под вообще подо что угодно. Потому что единственное что требуется для таких оберток — это дотнетный Interop, а он идёт самый первый в любом дотнетном фреймворке, ы-ы-ы.


Ну вот ты покажи не ссылки на исходники, а реальные обертки под Net Core? что бы из .Net Core можно использовать GUI по линукс.
А пока одна болтовня.

V>>>Сколько дотнетных оберток над нейтивными GUI-либами ты вообще смотрел?

V>>>Их же много десятков.
S>> Покажи для .Net Core

V>Любая из них подходит под .Net Core.

V>Это ты мне покажи, какая из них откажется скомпиллироваться на Net Core.

Скомпилируй и посмотрим.
V>>>Если в Net Core есть стандартный интероп, то все эти десятки либ автоматом доступны из Net Core.
S>>Нужно сделать обертки.

V>Их нужно скомпиллить, а не сделать.

Так сделай. Очень много народу будут тебе благодарны.

S>>Пока Авалония только в альфе


V>Сравнил фигню с пальцем.

V>Авалония — это очередная наколенная поделка, которая скорее всего никогда так и не будет доведена до ума.
V>Я же тебе давал ссылки на достаточно mature проекты.

Ты не дал на реальное использование, только ссылки на исходники.
Вот например мои проекты бери и используй.

S>>И я. К сожалению, я был большего мнения о тебе.


V>К сожалению, ты был большего мнения о себе.

V>А по факту разучился впитывать любую новую информацию.
Мое мнение о себе не изменилось. Но мне честно жалко тебя.
и солнце б утром не вставало, когда бы не было меня
Re[33]: Программы в сохраненной html-странице -- почему не р
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.04.17 12:43
Оценка: :)
Здравствуйте, vdimas, Вы писали:

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


V>>>Это один из любимых вопросов по WPF:

V>>>http://stackoverflow.com/questions/4225867/how-can-i-turn-binding-errors-into-runtime-exceptions
V>>>http://stackoverflow.com/questions/19274594/turn-wpf-binding-error-into-runtime-exception-not-working-on-published-released

V>>>Попробуешь еще раз?

S>>Попробуй сам.

V>Так вот же ссылки, специально оставил в процитированном.


Еще раз это не UWP и ссылки трех летней давности. Сейчас 4.6.1

Опять же ты не удосужился сам сделать проверку. И .Net Native крайне ограничен по рефлексии.
И там нет JIT. А значит все зависимости должны быть сделаны еще на этапе компиляции.

Но веды же дал ссылки совсем на другое. И при этом неудосужился проверить
S>>Я тебе не из головы выдумал. И ошибки показал.

V>Ты показал некие зачатки простейшей валидации.

V>А я тебе даю ссылки (а их очень много в гугле вывалилось), что у людей валидация в comple-time прошла, а в рантайме сыпет ошибками.
V>Причем, вопрос у всех один и тот же — а как перехватить ошибку валидации в виде обычного исключения-то?? )))

Нет в Net Native comple-time потому что нет JIT.

Вернее на этапе в Debug там используется .Net Core CLR.
Но я собирал в режиме Debug

https://msdn.microsoft.com/ru-ru/library/dn807190(v=vs.110).aspx

NGEN по-прежнему полагается на полную среду CLR для таких сервисов, как загрузка сборок, удаленное и локальное взаимодействие, управление памятью, сбор мусора и, при необходимости, JIT-компиляция. В .NET Native многие из этих сервисов являются либо ненужными (JIT-компиляции), либо разрешаются во время построения и включаются в сборку приложения. Остальные сервисы, наиболее важным из которых является сбор мусора, включены в гораздо более компактную, оптимизированную среду выполнения mrt100_app.dll.



S>>Кроме того UWP не совсем WPF, но XAML почти тот же. Нет времени проверять WPF. Там кстати и версия .Net 4,5,1


V>Отучайся говорить глупости. Не UWP, а WinRT.

V>Одно не означает другого, даже если ты в Студии взял UWP-шаблон.
V>Это просто такое название шаблона проекта, который подключает сборки для WinRT.
V>Ты можешь точно так же сделать своими ручками, без всякого шаблона UWP. Это не сложно. ))

Вот именно WinRT это общая нативная библиотека, а UWP это надстройка на .Net Native? так приложения UWP компилируются в .Net Native/
Например в WinRt нет GC.
А WinRt я могу использовать откуда угодно, только это никакого отношение не имеет к Xaml
и солнце б утром не вставало, когда бы не было меня
Отредактировано 03.04.2017 12:47 Serginio1 . Предыдущая версия . Еще …
Отредактировано 03.04.2017 12:44 Serginio1 . Предыдущая версия .
Re[32]: Программы в сохраненной html-странице -- почему не р
От: vdimas Россия  
Дата: 03.04.17 13:09
Оценка:
Здравствуйте, Serginio1, Вы писали:

V>>Потому что ты вовсе не UWP имеешь ввиду во всей этой беседе, а банальный нейтивный WinRT.

V>>И мне уже порядком надоело продираться сквозь чащу твоей неточности и поверхностности, положа руку на.

S> Я говорил прежде всего о Xaml. То есть декларативном описании интерфейса.

S>А его используют WPF, UWP

Режет глаз такая безграмотность...
Я могу под UWP использовать WPF.


S>И главное можно разделить работу верстальщика и программиста.


Такие тулзы есть под большинство популярных GUI-библиотек.


S>В свое время на Xamarin можно было писать только код. Затем появился XAML. С XAML удобнее.


Если там нет компиляции шаблона в код, то тоже на помойку, ес-но.
Если есть, то респект.
Сможешь собрать простейший проект, залезть в него через dotPeek и посмотреть — что там реально происходит? Выполняется ли код построения сцены или интерпретируется XAML/BAML?


S>UWP не поддерживает Windows 8.1 и Windows Phone 8.1

S>Что такое Universal Windows Platform
S>

S>UWP стала результатом эволюции более ранних технологий. Так, с выходом Windows 8 была внедрена новая архитектурная платформа для приложений — Windows Runtime (WinRT), которая позволяла запускать приложения в так называемом режиме Modern (Metro) на десктопах, планшетах. Затем с выходом Windows 8.1 и Windows Phone 8.1 эта технология получила развитие — появились "универсальные приложения", которые можно было запускать сразу Windows 8.1 и WP8.1. И в июле 2015 года официально вышла новая ОС Windows 10. Она использует платформу UWP, которая представляет собой развитие Windows Runtime.


Это маркетинг. ))


S>Так, что посмотри наконец на себя. Оцени свои высказываия. У тебя много знаний, но они либо устаревшие, либо поверхностные.


Либо у меня перед глазами нейтивное SDK Windows 10 и там сплошное WinRT. ))


S>

S>Теперь сделаем простейшее приложение. Визуально приложение UWP представлено через страницы — отдельные объекты Page. По умолчанию в проекте есть только одна страница — MainPage. Код этой страницы и определяет то, что мы увидим на экране при запуске приложения. И теперь немного изменим ее.
S>Итак, откроем файл MainPage.xaml:


Вот, для хомячков. А на деле ты можешь разработать WinRT приложение вообще без страниц или на основе DirectX или даже OpenGL (тоже поддерживается в AppStore-приложухах).

====================
Кароч, попробую распутать это нагромождение легенд, слухов и мифов.

Параллельно с чтением можно открыть у себя папку:
C:\Program Files (x86)\Windows Kits\10\Include
И выбрать одно из SDK для Windows 10.
Если там в include содержатся только CRT-заголовки, то скачай себе Windows 10 SDK (выбрать галочку — устанавливать только само SDK).

А потом рядом открыть папку:
C:\Program Files (x86)\Windows Kits\8.1\Include

Натравить какой-нить инструмент сравнения папок и поржать.
Например, поржать с того, что всё WindowsRT-like API для 10-ки лежит в подпапке winrt, ес-но, как и в SDK от Windows 8.1.

=================
Итак, вернёмся в прошлое.
С каждой версией Windows добавлялось какое-нить новое АПИ, которых не было в предыдущих версиях.
Например, я писал нейтивную приложуху для WindowsXP, отрисовывал контролы с текущей темой, ОК.
Но мне надо было, чтобы прложуха работала так же и под Windows 2000.
Мои действия?
Я в рантайм определял версию Windows и, если она была WindowsXP или выше, загружал библиотеку отрисовки тем Windows XP, если ниже, то рисовал через стандартную прорисовку контролов из либы User32.

Позже, под Windows Vista, Windows 7, Windows 10 djn ctqxfc — это всё так же прекрасно работает, т.е. прекрасно работает еще та приложуха, которая обыгрывает ситуацию с Windows XP или ВЫШЕ, динамически подгружает библиотеку прорисовки и рисует согласно текущей темы.

Теперь рассмотрим приложения AppStore. Что это за приложения такие? — это приложения, для которых исходный Win32 API был урезан до подмножества только "безопасных" ф-ий. Ну и плюс к этому новое развитое АПИ WinRT.

Так вот, проблема в том, что ф-ия АПИ LoadLibrary недоступна в урезанном АПИ ОС для приложух из магазина. А значит, я не смогу загрузить динамически какую-нить DLL в зависимости от версии ОС, на которой исполняется моё приложение. Более того, теперь от версий Windows отказались, считай, есть только версия обновления, а номер 10 теперь навечно. ))

Но рано или поздно некие АПИ будут добавляться, верно?
Или в неких устройствах, наоборот, может присутствовать урезанная версия АПИ, верно?

Итого, требуется некая функциональность динамического определения наличия некоего АПИ и пользования этим АПИ.
Так вот, в 10-ку в АПИ WinRT добавили эту функциональность, см. файл winrt\windows.foundation.metadata.idl, в нем интерфейс IApiInformationStatics.

Разумеется, такую функциональность добавили сугубо в виде WinRT-АПИ, ы-ы-ы:
interface IApiInformationStatics : IInspectable
{
    HRESULT IsTypePresent([in] HSTRING typeName, [out] [retval] boolean* value);

   [overload("IsMethodPresent")] 
   HRESULT IsMethodPresent([in] HSTRING typeName, [in] HSTRING methodName, [out] [retval] boolean* value);
...

Вот прямо тут можно запрашивать наличие неких интерфейсов и наличие в них методов/св-в.

Такой подход они назвали "универсальным", отсюда новый маркетинговый мем UWP, опять и снова ы-ы-ы.

И да, ввиду того, что Windows 10 совместима сверху вниз, то приложения WinRT 8.0 и приложения WinRT 8.1 будут прекрасно работать в "обычной" WinRT 10.0. Точно так же, как под Windows 7 прекрасно работали приложения, писанные под Windows XP. Например, в Windows 10 обновились коды енумов ActivationKind, но имеющиеся ранее для Windows 8.1 так же прекрасно работают, ес-но.

Далее.
Почему я настаиваю на упоминании WPF vs WinRT вместо WPF vs UWP?
Да потому что я запросто могу создать UWP-приложение на основе WPF.
Это вносит путаницу.
Но у нас в обсуждении подразумевалась та разница, КАК именно реализован движок GUI — практически полностью в дотнете (WPF) или в виде тонкой обертки над нейтивным WinRT API, верно?

=============
Весьма надеюсь, что я достаточно разъяснил суть моих поправок...
Re[33]: Программы в сохраненной html-странице -- почему не р
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 03.04.17 13:22
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Далее.

V>Почему я настаиваю на упоминании WPF vs WinRT вместо WPF vs UWP?
V>Да потому что я запросто могу создать UWP-приложение на основе WPF.
V>Это вносит путаницу.
V>Но у нас в обсуждении подразумевалась та разница, КАК именно реализован движок GUI — практически полностью в дотнете (WPF) или в виде тонкой обертки над нейтивным WinRT API, верно?

Нет. Ты утверждал, что XAML интерпретируется в любой библиотек.
http://rsdn.org/forum/flame.comp/6744404.1
Автор: vdimas
Дата: 02.04.17


BAML — это и есть XML. Там всей разницы, что его парсинг чуть быстрее.
Но все остальное происходит динамически — поиск зависимых св-в контролов по имени, определение типа зависимого св-ва, биндинг к ним и т.д.
Это не что иное как интерпретация данных, и вот она — одна из самых тормозных частей WPF.
При том что если сгенерировать код построения "сцены", то обращение к зависимым св-вам будет статически-типизированным.

S>Тот же UWP вообще компилируется в натив.

Нейтив не означает отсутствие динамики.
Все твои динамические языки писаны на нейтиве, если что. ))


S>Еще раз посмотри Net Native и UWP


На что именно посмотреть?
UWP — это лишь ограниченный набор WinAPI + ср-ва по динамическому определению наличия некоего АПИ.


V>=============

V>Весьма надеюсь, что я достаточно разъяснил суть моих поправок...

Да ты можешь настаивать на чем угодно, только в UWP нет кучи возможностей WPF и наоборот.
И для меня эта разница очевидно. В одном случае это .Net CLR? а во втором .Net Native
Но вот в качестве работы с GUI они используют XAML как и Xamarin.Forms

Кстати

Например Особый интерес представляет Windows 10 IoT Core. Это новая редакция Windows, которой ранее не было. В ней нету привычного пользовательского интерфейса Windows, но есть вся необходимая инфраструктура для запуска UWP приложений.
https://dou.ua/forums/topic/16860/
и солнце б утром не вставало, когда бы не было меня
Re[34]: Программы в сохраненной html-странице -- почему не р
От: vdimas Россия  
Дата: 03.04.17 14:20
Оценка: -1
Здравствуйте, Serginio1, Вы писали:

V>>Хреново проверил, я тебе ссылки дал.

S>Я тебе привожу РЕАЛЬНЫЙ код. Ты мне ссылки 3 х летней давности.

Да хоть 10-тилетней давности.
Ничего не изменилось.


S>И при этом говришь о совести.


Потому что я даю тебе пример, который приводит к ошибке загрузки страницы в рантайме, хотя валидация прошла, а ты мне отвечаешь примером, который не прошёл валидацию. Хорошо себя чувствуешь?


V>>Нет и еще раз нет.

S>То есть JS являются обертками над нативом.

Да. Причем, весьма непростыми обертками.
А потом ты эти непростые обертки опять оборачиваешь непростыми обертками C#.


S>Где ссылки на свои утверждения. Я тебе кучу ссылок приводил.


Мне не надо отвечать ссылками, не надо разбрасывать по сторонам моё внимание.
Я хотел услышать обоснование, почему именно так?
Обоснований не услышал.

И да, я тебе давал ссылки только потому что ты споришь с очевидным, утверждая, что к нейтивному DOM можно подцепиться только через JS.
А я сразу и говорил, что для движка Gecko это НЕ так, там проще подцепиться прямо к нейтиву, а в случае Хромиум прямо к нейтиву подцепиться чуть сложнее. По крайней мере у меня сложилось такое ощущение, когда я его смотрел лет ~5 назад.


S>Ну да покажи ка свое творение на использование натива из браузера, а не испоьзование браузера как контрола.


Опять эта пурга...
Любое приложение-браузер — это и есть использование "браузера как контрола" на некоей "форме".

Более того, возьми обычный Хром, попробуй в нём открыть произвольный JS с твоим Net-хелпером. Заработало? Нет? А чего так? ))


V>>Там обсуждается биндинг сугубо к JS, хотя я тебе раз сто повторил уже, что эта прослойка для твоей задачи не нужна от слова совсем.

V>>Ты же сам сформулировал задачу таким образом, что тебе надо кроссплатформенно переиспользовать свои наработки на C#.
V>>Ну и при чём тут тогда вообще JS и галимый v8?
S>Мне нужно вызвать из JS манагед код.

А зачем JS на клиентской приложухе?
Юзверю будет предоставлена возможность динамически править этот JS и перезапускать его?


S>Ну вроде как понятно использование .Net классов из TS/ Что не понятно?


Непонятно, зачем тут TS.


S>Но ты начинаешь развивать свое видение, которое никакого отношения к задаче не имеет.


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


V>>Скажем так, до этого сообщения мне казалось, что ты злостно троллишь, когда делаешь вид, что не понимаешь, чем C#-обертка над нейтивной GUI-библиотекой отличается от того, что сделал ты.

V>>Ан, нет, похоже, ты ДЕЙСТВИТЕЛЬНО не понимаешь ни хрена...
V>>Вот это расклады...
S> Ну только ты один всезнайка.

Да тут не требуется семи пядей во лбу. Тут требуется любопытство здорового человека.


S>Еще раз я говорю об UWP/ Оно имеет свое определение которое работает только на семействе Win 10.


Я рядом на всю эту кашу подробно ответил:
http://www.rsdn.org/forum/flame.comp/6745711.1


S>Под приложением UWP понимается GUI с использованием XAML


Нет. Под приложением UWP понимается способность программы динамически опрашивать наличие неких АПИ в той версии ОС, на которой оно исполняется. Именно отсюда растут ноги у первой буквы в этой аббревиатуре.


V>>Так вот, ты запросто можешь писать на WPF для UWP:

V>>https://www.hanselman.com/blog/HowToCallWinRTAPIsInWindows8FromCDesktopApplicationsWinRTDiagram.aspx
V>>Не знал ведь? ))
V>>Потому что подходящего "шаблона" в Студии нет?
V>>А руками зависимости и target прописать — это высшая математика? ))
S>Я стебя.. Я привел ошибку в тексе которой есть COM.

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


S>Это говорит о том, что ты даже не читаешь о чем я пишу. Ты правда думаешь, что я не знаю, что такое WinRT?


Я достоверно знаю, что ты не знаешь, что такое UWP.
Один раз поправил, два, но ты же опять предпочитаешь включать воинственное невежество.
Неужели тебе не любопытно то, с чем ты работаешь?


V>>Никакие шаблоны Студии разработчику не нужны, можно создать пустой проект и настроить используемые версии фреймворков.

V>>А нужные зависимости и так часто добавлять руками приходится, т.е. занятие это привычное, поди.
S>И какие же версии в UWP?

Для Windows 8.1 номер WinRT АПИ указан как 1.3, для Windows 10 WinRT АПИ идёт за номером 1.4.

В ресурсах указана строка, например для Windows 10 (твоё UWP): "WindowsRuntime 1.4".


S> И кстати например DataGrid UWP не поддерживает. Как впрочем .Net Core не поддерживате DataTable/


V>>Просто дело в том, что на любом даже "обрезанном" Windows RT — планшете можно установить полноценный дотнет.


S> Полноценный нельзя! Это вообще песочница со многими ограничениями.

S>Например по файловой системе
S>https://metanit.com/sharp/uwp/12.1.php

Это для AppStore-приложений, бо они в песочнице исполняются.
А кто тебе мешает установить UWP-приложение обычным копированием, ы? )))

Вот за что я не люблю т.н. "шаблоны приложений" Visual Studio, что они вносят натуральную путаницу.
Потому что тебе, вообще-то доступно АПИ WinRT в твоих обычных приложухах.
Для этого не обязательно размещать приложуху в AppStore.

Причем, если для дотнета надо произвести настроить target в проекте ручками:
https://blogs.windows.com/buildingapps/2017/01/25/calling-windows-10-apis-desktop-application/#qgEKUKOirMDLdX75.97

То посмотри там же — для нейтива вообще ничего особенного делать не надо — просто бери да пользуйся. ))


V>>Обрати внимание на virtual JSObject* WrapObject(...)

S>JSObject это что?

Это та самая обертка, создания которой хотелось бы избежать.


S>Еще раз ты утверждаешь, что в браузере существует две модели.

S>Основными являются нативные, а JS это обертка над нативными?

Ну я же тебе исходники даже дал, бо на слово ты не веришь... Хотя там всё очевидно. ))


S>И учитвываем, что JS объекты могут компилироваться в натив.


Не могут.
Всё-равно компиллируется динамический вызов обертки.
Потому что JS-движок знает устройство "своих" JS-объектов, но понятия не имеет об устройстве внешних объектов.
Поэтому вызов идёт через аналог IDIspatch.


S>Ну так это оберка над чем, Над


Даже в нейтиве лишняя обертка — это лишние тормоза.
А если еще и каждый метод вызывается через сложный код оберкти — то это ж-па полная.
Хана батарейке.


V>>В то время как ты можешь маршаллить простые типы и структуры из/в C#/нейтив как есть, простым копированием или даже по простой ссылке, без копирования. У тебя есть чудеснейшая возможность пользоваться нейтивным кодом практически напрямую из C#.

S>Ты мне объясняешь как детсадовцу.

И меня это самого давно бесит, заметь.
Ты, блин, как рыба на крючке... вроде бы уже вижу, что понимаешь и даже где-то согласен... а нет, потом что-то у тебя перещелкивает и ты срываешься с крючка, опять надолго исчезая в мутной воде )))


S>Если бы посмотрел код то я как раз все это маршалю, а объекты передаю индекс в хроанилище и оборачиваю через JS объект.


Но ты оборачиваешь обертку.
Вот в чем ж-па. ))
Даже если тебе Ионика (или кто там) нагенерила тебе красивую страничку (ведь она тебе только для этого нужна, верно?), то раздай ты нужным контролам некие ID и потом из нейтива, вернее, из своей дотнетной обертки, присоединённой непосредственно к нейтивному АПИ запроси эти контролы и подпишись на события от нейтива, а не от JS. Ву а ля, или еще нет?


V>>В C# достаточно разработать ограниченное кол-во disposable-оберток над нейтивными типами — элементами GUI библиотеки.

S>Это ты все WinForms вспоминаеь. Он уже умер.

Это в тебе инженер умер. WinForms тут не при чём.

S>Казалось бы при чем тут .Net Core, Линукс?


А там что, какой-то особенный interop, что ле?
Такой же точно.


V>>Ну или посмотри через dotPeek реализацию дотнетных оберток над нейтивными WinRT интерфейсом.

S>Еще раз причем тут .Net Core, Линукс?

Всё то же самое через такой же точно interop.

V>>Потому что COM-библиотеке MSHTML стукнуло 20 лет, а на момент её разработки не было никаких селекторов.

V>>Я просто сэкономил ровно пару строк кода, работая с DOM через более современное АПИ.
V>>Но ты-то можешь предоставить в C# любое АПИ, какое тебе надо, верно? И дергать его типизированно.
V>>Я же там часть кода дёргаю вполне типизировано, если заметил, где старого АПИ хватило.
S>А то есть COM интерфейсов 20 лет назад не было?

Не было библиотеки MSHTML.


S>GeckoFX это контрол. И его нельзя использовать из .Net Core.


GeckoFX — это исходники. В том числе в этих исходниках содержатся контролы для WinForms, WPF, GTK.
Тебе ведь все-равно нужно окно верхнего уровня в линухах? Вот бери GTK для окна верхнего уровня, бросай на него свой браузер и радуйся.

И только попробуй еще раз озвучить, что под .Net Core это нельзя использовать. Прокляну. )))


S>Но ты упорно это игнорируешь. А потом говоришь о совести.


Я 100 раз тебе на это отвечал, ты игноришь мои ответы. Поэтому я обвиняю тебя в отсутствии совести.
Ты не имеешь права повторять те свои аргументы, на которые уже был дан ответ. Это если речь идёт о техническом обсуждении, а не о ругани на базаре, ес-но.
Ты можешь дать свои новые аргументы или не дать никаких.
Например, я 100 раз говорил, что interop под .Net Core был реализован одним из первых, бо это вообще фундамент дотнета.
А значит ЛЮБЫЕ интеропные обертки прекрасно в .Net Core компиллируются и работают.

Собсно, сам этот .Net Core в первую очередь для таких оберткок и предназначался — чтобы их можно было не только на Windows собирать, но и под другие платформы.


V>>Гуглить хотя бы GtkSharp или GTK#.

V>>Это тонкие обертки над нейтивной GUI-либой.
V>>В исходниках.
V>>Покажи мне, что помешает собрать эти тонкие либы под Net Core?
S>Вот и я думаю почему это кроме авалонии нет других проектов.

Потому что ты в курсе www.google.com?


S>Опять же ты говоришь о возможности, но реальных продуктов нет.


GtkSharp и GTK# — это самые что ни на есть реальные продукты.
Бери да пользуйся.
Если возникнут непреодолимые сложности с компиляцией их в .Net Core — обращайся.


V>>Брехня. Я давал ссылки на сам проект, где лежат его исходники, которые являются компилябельными как под виндовый дотнет, так и под моно, так и под Core, так и под вообще подо что угодно. Потому что единственное что требуется для таких оберток — это дотнетный Interop, а он идёт самый первый в любом дотнетном фреймворке, ы-ы-ы.

S>Ну вот ты покажи не ссылки на исходники, а реальные обертки под Net Core?

А может ты меня попросишь еще твои исходники для тебя компиллировать? ))
Без няньки уже никак?


S>что бы из .Net Core можно использовать GUI по линукс.

S>А пока одна болтовня.

Т.е., вместо того, чтобы честно сказать: "так мол и так, у меня есть одна постыдная проблема — я не знаю как скомпиллировать дотнетные исходники для .net Core..." ты устроил весь этот цирк?

Ну так не удивляйся, что теперь в бессовестных ходишь. ))
Отредактировано 03.04.2017 14:27 vdimas . Предыдущая версия .
Re[34]: Программы в сохраненной html-странице -- почему не р
От: vdimas Россия  
Дата: 03.04.17 15:03
Оценка: :)
Здравствуйте, Serginio1, Вы писали:

V>>Но у нас в обсуждении подразумевалась та разница, КАК именно реализован движок GUI — практически полностью в дотнете (WPF) или в виде тонкой обертки над нейтивным WinRT API, верно?

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

Это независимые утверждения, оба верные.

V>>Весьма надеюсь, что я достаточно разъяснил суть моих поправок...

S> Да ты можешь настаивать на чем угодно, только в UWP нет кучи возможностей WPF и наоборот.

Я тебе уже дал ссылку на дотнет 4.5.2 для UWP.


S>И для меня эта разница очевидно.


Если бы ты ВНИМАТЕЛЬНО прочитал мои объяснения, то разница тебе стала бы понятна.
Ты можешь запросто написать WPF-приложение из которого вызываешь UWP АПИ.
В этом и есть суть возникающей путаницы.


S>В одном случае это .Net CLR? а во втором .Net Native


Во втором случае это тоже может быть обычным дотнетом, просто с дополнительными зависимыми сборками — тонкими обертками над WinRT API.
Неужели так сложно добавить несколько референсных дотнетных сборок в приложение? В чем проблема-то?
Ты не знаешь где их искать на своей машине? Так спроси у гугла или у меня.


S>Но вот в качестве работы с GUI они используют XAML как и Xamarin.Forms


Я еще не щупал Xamarin.Forms, поэтому по нему ничего сказать не могу.
Речь была не об этом всём. Обсуждались несколько моментов:
— интерпретация XAML в рантайм — сие плохо;
— WPF писан на дотнете, WinRT нейтивный, для дотнета там только тонкие обертки.

И ничего друг другу не противоречит — ты можешь использовать и те и те сборки одновременно в одном приложении.
Ссылку на пример я давал.


S>Например Особый интерес представляет Windows 10 IoT Core. Это новая редакция Windows, которой ранее не было. В ней нету привычного пользовательского интерфейса Windows, но есть вся необходимая инфраструктура для запуска UWP приложений.

S>https://dou.ua/forums/topic/16860/

Тогда ты идёшь вот сюда:
https://msdn.microsoft.com/ru-ru/library/windows/apps/mt592904.aspx
И пользуешься только АПИ из этого списка.

Например, если у тебя была приложуха на DirectX или OpenGL, то прекрасно всё будет работать.
https://msdn.microsoft.com/ru-ru/library/windows/apps/mt592898.aspx

Или, например, если приложуха была на основе графического интерфейса DXGI:
https://msdn.microsoft.com/en-us/library/windows/desktop/hh404534(v=vs.85).aspx
который был представлен в Windows Vista, то тоже в UWP этот интерфейс поддерживается.

Т.е. все десктопные приложения, нацеленные на Vista и выше, тоже будут прекрасно работать в этом IoT Core.
Re: Программы в сохраненной html-странице -- почему не развиты?
От: AleksandrN Россия  
Дата: 04.04.17 20:47
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Берем пишем прогу на JS внутри HTML-страницы. Сохраняем на диск на компьютере. Когда нужно -- запустили, все открылось. Все работает. Причем все работает и в Win и в Lin и в Mac OS. А еще ведь браузеры есть и во всех моб. телефонах (даже не самых современных), значит и там можно сделать чтобы работало.


S>А ведь такая простая возможность создавать утилитные кроссплатформенные приложения упущена...


Бывает, что JS не одинаково работает в разных браузерах и разных версиях одного браузера.

Как правило, пользователю нужно сохранять результаты своей работы, а потом — открывать, ранее сохранённые, данные. JS не позволяет сохранять данные локально. А если добавить такую возможность в браузеры, то это будет дырой в безопасности.
Re[2]: Программы в сохраненной html-странице -- почему не развиты?
От: Shmj Ниоткуда  
Дата: 04.04.17 21:03
Оценка:
Здравствуйте, AleksandrN, Вы писали:

AN>Как правило, пользователю нужно сохранять результаты своей работы, а потом — открывать, ранее сохранённые, данные. JS не позволяет сохранять данные локально. А если добавить такую возможность в браузеры, то это будет дырой в безопасности.


Позволяет, см. https://app.keeweb.info/ Скачиваете в виде файла.
Re[3]: Программы в сохраненной html-странице -- почему не развиты?
От: AleksandrN Россия  
Дата: 04.04.17 22:12
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Позволяет, см. https://app.keeweb.info/ Скачиваете в виде файла.


Не знал, что в JavaScript можно работать с локальными файлами. Погуглил. Не нашёл, как это отключить, не отключая JavaScript совсем.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.