Я в восторге от этого проекта, но надеюсь, что он что-то делает и с CSS. Я считаю, что стили XAML более дружелюбны и их легко перевести в CSS. Можно ли это сделать?
А если модель DOM представлена в виде классов .NET, можем ли мы использовать синтаксис XAML для представления страницы вместо HTML5?
Я знаю, что MVC вернул HTML вместо веб-элементов управления, чтобы мы могли писать оптимальный html-код, но я думаю, что XAML так близок к html. Я просто хочу использовать знакомые элементы управления WPF / Silver Light / UWP с их знакомыми свойствами, методами и событиями, и они могут быть просто оболочкой для элементов управления html. Это сократит цикл обучения и сделает блейзер похожим на обычное окно WPF / UWP с кодом C # за страницей.
@MohammadHamdyGhanem См. Https://github.com/aspnet/Blazor/issues/374#issuecomment -376314750
Для Blazor мы ориентируемся на C #, HTML и CSS, но для XAML вы можете взглянуть на Ooui .
@ danroth27
Для Blazor мы ориентируемся на C #, HTML и CSS, но для XAML
Я не говорю, что вы перестанете использовать HTML и CSS. Я говорю, дайте нам возможность выбрать XAML, если мы захотим. Я знаю, что есть веб-сообщество, но есть также сообщество настольных компьютеров .NET, которое хочет писать веб-приложения. Пожалуйста, рассмотрите их. Я сам ненавидел ASP.NET, несмотря на мои попытки прочитать и изучить его в течение последних 15 лет! Напротив, я нашел XAML привлекательным, мощным и простым в освоении. Я надеялся, что серебряный свет будет доминировать и превратиться в технологию Microsoft Wen, но он умер в 2012 году!
Надеюсь, вы согласитесь с этим предложением, даже если вы назовете его Xlazor :)
XAML вы можете взглянуть на Ooui.
Я не зависим от стороннего продукта в таком большом масштабе, потому что я не гарантирую, что он будет длиться и развиваться, поэтому может быть промах, если сторонний продукт умер, поэтому мне нужно переписать большие проекты, которые его используют!
@MohammadHamdyGhanem Blazor и Ooui - это отдельные продукты, основанные на WebAssembly, так же как .NET основан на .NET Framework. Оба они необходимы, поскольку есть веб-разработчики, которые предпочитают Razor / HTML / CSS (ASP.NET), и разработчики для настольных и мобильных устройств, которые предпочитают XAML. Поэтому я думаю, что оба должны быть объединены в .NET / Xamarin (blazor уже объединен) и должны использоваться отдельно, чтобы они могли быть легкими и не мешали друг другу.
@ пламен-я
Я согласен. Но я еще не знаком с Xamarin. Я предпочитаю использовать элементы управления, подобные UWP.
@MohammadHamdyGhanem Xamarin, особенно Xamarin.Forms - это будущее, если вы хотите писать один раз (C # / XAML) и запускать везде. Потратьте некоторое время на изучение Xamarin.Forms, и он окупит вас гораздо больше :-) Это зрелая технология, использует XAML и очень близка к WPF / UWP.
Я говорю, что Microsoft должна создать стандартный API XAML (например, .NET Standard), которому должны подчиняться Xamarin, UWP и ASP.NET, независимо от имени бритвы, или расширить .NET Standard, включив это.
Элементы управления, их свойства и методы должны иметь одинаковые имена вне зависимости от базовой реализации. Это упростит изучение всех этих компонентов и сделает возможным многократное использование кода.
@MohammadHamdyGhanem Они, я думаю ... Вот репо для этого, но последние несколько месяцев он был мертв. Я очень надеюсь, что это не так, и жду объявления об этом на Build 2018.
Это облегчение. Спасибо.
xamarin.forms не так эффективен, как собственные приложения для anroid или ios, он хорош для статистического контента в приложениях или приложениях, подключенных к облаку, но если вам действительно нужна глубокая интеграция с API ОС и нужна собственная производительность, xamarin не является таким производительным, плюс набор инструментов xamarin.native просто ужасен,
Я пошел дальше и начал создавать движок Xaml, который изначально работает в браузере. Вы можете проверить это здесь: https://github.com/XamlEngine/Samples
XAML должен быть вариантом. Я не знаю, насколько команда Asp.Net знакома с XAML. Команда тратит время на воссоздание колеса. Как и в недавнем Community Standup, они показали, как создавать компоненты в Blazor. Я сказал почему ?. И почему я должен изучить новый способ написания компонентов. У вас есть XAML, который идеально подходит для всего этого.
Существуют тысячи JS-фреймворков, таких как VUE, Angular, React, которые помогают в привязке данных. И XAML был первым, кто это сделал. По крайней мере, попробуйте.
Мы знакомы с XAML, но наша основная цель с Blazor - ориентироваться на веб-разработчиков, поэтому мы придерживаемся HTML и CSS. Тем не менее, уже предпринимаются различные усилия по созданию поддержки XAML для .NET в WebAssembly (Ooui, Uno, FrogUI), поэтому мы рекомендуем изучить эти проекты, если XAML вам больше нравится.
@ danroth27
Я вижу, что MS должна работать с бритвой XAML, чтобы сохранить VB.NET. На мой взгляд, ASP.NET был одной из причин, по которым популярность VB.NET упала за последнее десятилетие. VBScripts запускаются только в Internet Explorer, поэтому он рожден мертвым, и любой веб-разработчик должен был использовать только JavaScript, который использует синтаксис C-Like, поэтому его легче использовать с C #, чем с VB.NET. С течением времени фреймворки JavaScript продолжали появляться, и MS адаптировала некоторые из них, такие как JQuery и Angular. TypeScript также представляет собой продвинутый JavaScript.
Это сделало C # единственным логическим выбором для новичков, и даже заставило многих разработчиков VB.NET перейти на C #.
Итак, Xaml blazoer преследует две цели:
Я думаю, что здесь есть неправильное представление о XAML. Я действительно поклонник XAML в Blazor, но не так, как описано выше и в aspnet / Blazor # 374.
То, что я предлагаю, описано ниже:
Представьте, что у меня есть эти компоненты:
Drawer.cshtml:
<aside class="mdc-drawer mdc-drawer--modal">
<strong i="10">@Header</strong>
<strong i="11">@ChildContent</strong>
</aside>
<strong i="12">@functions</strong>
{
[Parameter]
DrawerHeader Header { get; set; }
[Parameter]
RenderFragment ChildContent { get; set; }
}
DrawerHeader.cshtml:
<div class="mdc-drawer__header">
<strong i="16">@ChildContent</strong>
</div>
<strong i="17">@functions</strong>
{
[Parameter]
RenderFragment ChildContent { get; set; }
}
Теперь представьте, что в моем третьем компоненте Main.cshtml я хочу добавить Drawer
и установить его Drawer.Header
. В настоящее время мне нужно создать свойство типа DrawerHeader
и привязать его к моему Drawer.Header
:
<div class="drawer-frame-root">
<Drawer Header="@Header">
<DrawerContent>
</DrawerContent>
</Drawer>
<DrawerScrim />
</div>
<strong i="25">@functions</strong>
{
DrawerHeader Header
{
get;
} = new SubClassOfDrawerHeader();
}
Поэтому мне нужно создать другой компонент с именем SubClassOfDrawerHeader
и назначить ему свойство Header. Что составляет массу компонентов в моем проекте.
Я предлагаю использовать вложение свойств стиля XAML:
<div class="drawer-frame-root">
<Drawer>
<Drawer.Header>
<DrawerHeader>
<DrawerHeaderTitle>User's name</DrawerHeaderTitle>
<DrawerHeaderSubtitle>[email protected]</DrawerHeaderSubtitle>
</DrawerHeader>
</Drawer.Header>
<DrawerContent>Some content</DrawerContent>
</Drawer>
<DrawerScrim />
</div>
Пожалуйста, посмотрите на <Drawer.Header>...</Drawer.Header>
в приведенном выше коде.
@MohammadHamdyGhanem @xclud Приходилось ли вам Platform.uno - как упоминалось ранее @ danroth27 ?
Если бы у него был XAML, я думаю, мы бы МГНОВЕННО перешли на Blazor, потому что нам действительно понравился Silverlight.
Кодирование HTML / Javascript == очень раздражающий способ написания кода (он же «скрипт»)
Если бы у него был XAML, я думаю, мы бы МГНОВЕННО перешли на Blazor, потому что нам действительно понравился Silverlight.
Кодирование HTML / Javascript == очень раздражающий способ написания кода (он же «скрипт»)
@wstaelens Мне тоже очень понравился Silverlight, и я сделал с ним дюжину приложений. Вот почему мне сейчас нравится Uno Platform (также известная как Silverlight на стероидах).
Если бы у него был XAML, я думаю, мы бы МГНОВЕННО перешли на Blazor, потому что нам действительно понравился Silverlight.
Кодирование HTML / Javascript == очень раздражающий способ написания кода (он же «скрипт»)@wstaelens Мне тоже очень понравился Silverlight, и я сделал с ним дюжину приложений. Вот почему мне сейчас нравится Uno Platform (также известная как Silverlight на стероидах).
Проблема в том, что это не «официальный» проект Microsoft, поэтому время жизни ... поддержка ... что угодно ... Blazor просто нужна поддержка XAML.
Проблема в том, что это не «официальный» проект Microsoft, поэтому время жизни ... поддержка ... что угодно ... Blazor просто нужна поддержка XAML.
@wstaelens Разобрался совершенно. Я рассматриваю Uno как нечто стоящее на плечах гигантов Microsoft - UWP, mono, Xamarin ... Они не создавали платформу с нуля, но блестяще использовали многие зрелые технологии, которые работают очень хорошо. Я был действительно рад, что Уно был хорошо принят на Microsoft Build в прошлом месяце и недавнее одобрение со стороны Мигеля де Икасы.
Многие разработчики C # любят использовать XAML вместо HTML и CSS. Многим нужна официальная кроссплатформенная поддержка UWP / WPF / XAML. Imo Microsoft также должна поддерживать XAML с Blazor. Когда мы вообще получим официальную кроссплатформенную поддержку XAML?
Я сам фанат C #, но моя проблема с веб-разработкой и Electron никогда не была связана с Javascript. Это CSS.
Какой смысл в Blazor, если он не предлагает альтернативу HTML / CSS? Почему так сложно найти замену HTML / CSS, почему кроссплатформенный XAML так сложно ... Я просто не понимаю. Microsoft всегда упускает возможности и принимает неразумные решения.
День, когда XAML станет кроссплатформенным (официально поддерживается Microsoft), это день, когда Blazor получит полную поддержку всех разработчиков C #. Ну, по крайней мере, для меня ... потому что я не вижу реальных преимуществ Blazor. Потому что я все еще занимаюсь CSS, id, class,
Я не согласен, все веб-разработчики привыкли к html и css. Пожалуйста, придерживайтесь HTML и CSS
@GoranHalvarsson, тогда почему они не используют JavaScript или TypeScript?
Я не согласен, все веб-разработчики привыкли к html и css. Пожалуйста, придерживайтесь HTML и CSS
К сожалению, не все веб-авторы - разработчики, некоторые - инженеры-программисты, и мы предпочитаем XAML / C # для вертикального центрирования элементов на странице. Что до сих пор остается загадкой для HTML / CSS. XAML намного превосходит.
У меня есть Skoda и Porsche, но я езжу на Skoda только потому, что привык к ней? В качестве опции есть Xamarin или Avalonia (если он принадлежит Microsoft и реплицирует спецификацию WPF). Может быть, Microsoft стоит провести опрос среди сообщества Blazor и спросить их, должны ли они выбрать один - XAML или HTML?
Разработчики Silverlight более 10 лет назад считали себя веб-разработчиками. Просто потому, что iOS и Android решили запретить использование плагинов, многие веб-разработчики остались без платформы для разработки.
@GoranHalvarsson Когда вы говорите, что все веб-разработчики, многие из нас привыкли к html и css (потому что должны), но предпочитают XAML / C #. Вы не говорите от имени сообщества веб-разработчиков. Так что не говорите нам, чего мы должны придерживаться.
И что плохого в том, что разработчикам доступно несколько технологий?
Я широко использовал HTML, CSS, JavaScript (сейчас я стараюсь держаться подальше от JavaScript) для веб-проектов.
Когда дело доходит до Rich Internet Applications (RIA) или одностраничных приложений (SPA), Xaml и C # - король и королева. Другого варианта я не выберу.
Я должен признать, что я один из тех, кому повезло, и я не подчиняюсь никаким навязанным платформам, а такая роскошь есть не у всех.
Недавно я завершил SSB Blazor Project (пока не использую CSB), используя Telerik и SyncFusion. Опыт работы с C # был отличным! JavaScript / html / CSS раздражал. Кажется, что большинство сторонних элементов управления содержат больше всего ошибок в CSS. Вы бы не хотели строить крупномасштабный SPA таким же банкоматом, его будет сложно поддерживать.
В прошлом у меня был обширный опыт работы с XAML / C #. Я должен сказать, что наличие всего под одной крышей делает разработку не только более быстрой и надежной, но и более приятной.
Лично мне все равно, если поддержка XAML / C # отсутствует в браузере, если это перекрестная платформа. Вероятно, не менее важно иметь преемственность в технологическом стеке с простыми способами перехода на новые технологии. Одна из самых больших прошлых проблем (не говоря уже о Silverlight) была связана с использованием сторонних решений ORM, всегда придерживайтесь технологий, поддерживаемых Microsoft, - вот мой совет!
Если бы Microsoft добавила поддержку кроссплатформенности / WASM в WPF и WinForms, проблема была бы решена для меня. Я бы, вероятно, никогда больше не использовал Blazor, если бы это было так, поскольку у всех нас было бы окончательное решение в качестве опции.
Самый полезный комментарий
Многие разработчики C # любят использовать XAML вместо HTML и CSS. Многим нужна официальная кроссплатформенная поддержка UWP / WPF / XAML. Imo Microsoft также должна поддерживать XAML с Blazor. Когда мы вообще получим официальную кроссплатформенную поддержку XAML?
Я сам фанат C #, но моя проблема с веб-разработкой и Electron никогда не была связана с Javascript. Это CSS.
Какой смысл в Blazor, если он не предлагает альтернативу HTML / CSS? Почему так сложно найти замену HTML / CSS, почему кроссплатформенный XAML так сложно ... Я просто не понимаю. Microsoft всегда упускает возможности и принимает неразумные решения.
День, когда XAML станет кроссплатформенным (официально поддерживается Microsoft), это день, когда Blazor получит полную поддержку всех разработчиков C #. Ну, по крайней мере, для меня ... потому что я не вижу реальных преимуществ Blazor. Потому что я все еще занимаюсь CSS, id, class,