Comments 34
2. Как-то длинно десериализуете json. Можно же же примерно так:
List appsdata = JsonConvert.DeserializeObject<List>(jsonString);
2. А если есть что-то невалидное?
Там как раз написано «Хотя WCF предоставляет некоторую поддержку написания служб в стиле REST, поддержка REST в ASP.NET Web API более полная и все последующие улучшения функций REST будут вноситься в ASP.NET Web API».
Значит Web API всё-таки больше подходит.
2. Парсер съел немного кода. А как вам такой вариант вспомогательного метода? Тогда в списке гарантированно будут только объекты Timetable.
public static List<T> DeserializeToList<T>(string jsonString)
{
var array = Newtonsoft.Json.Linq.JArray.Parse(jsonString);
return array.OfType<Timetable>().ToList();
}
Касательно сниппета, да, пожалуй длинноват, но он в оригинальном виде пропускал ошибочные элементы.
Спасибо за уточнения/дополнения/исправления!
WebApi Client в .Net — это слишком просто.
Twitter — норм, но не для хабра статья :)
var user = new
{
UniqUserId = "fsfdsfdsfdsfds",
PlatformId = 2,
Culture_Code = 1033
};
var h = new HttpClient();
var task = h.PostAsJsonAsync("http://hostname.com/api/users", user);
Да, в реальных проектах всегда есть poco / dto / что-то более подходящее, чем анонимные типы.
А вы видимо на луне. Так вот у нас тут на земле win32/winforms приложение работает в разы быстрее и жрёт на два порядка меньше мозгов, а доля этого вашего UWP что на десктопе что на тачскринах до смешного мала
UWP — универсальность.
вы о чём сейчас? мстите таким образом за порчу воздуха?
Ну так Майкрософт в отличие от Оракла прославились тотальным забиванием на такого рода проекты — WPF, Silverlight, WinRT и COM как бы намекают на будущее UWP. Тем более что выстрелил Electron, который уже сейчас поимел UWP по стоимости разработки, производительности и уровню инструментов. И это при том что Electron действительно кросплатформенный и универсальный, а не только в фантазиях хипстеров, находящихся в плену религиозного дурмана от хайпа, поднятого евангелистами Майкрософт
А можно цифры какие-нибудь про то, куда Electron «выстрелил» и кого «поимел»?
ну так там выше было — "Уж не говоря про самую суть UWP — универсальность." А кросплатформенность — это как бы в довесок, такой нокаут для UWP от конкурента.
Хамарин — это вы вообще не в тему, он не про десктоп совсем.
У меня в W10 разница ощущается и без цифр. Электронвские виджеты и аппы ещё туда сюда, uwp-шные стоят раком. Ну и да, для своих задач я таки тестировал FPS и потребление памяти на виртулизированном GridView с кастомным контентом ячеек для UWP и аналогичное с таблицами на Electron + react. На 90% кэйсах электрон был лучше на 15-20%. И это при том, что uwp нагинает проц на 100% и жрёт под гиг оперативки, электрон ничего подобного и близко не делает. Результат как бы предсказуем, если принять во внимание, что UWP унаследовала все врождённые уродства WPF, а именно MVVM через Data Binding через INotifyPropertyChanged (дыры в типизации, невозможно нормально отлаживать, тормоза) и хамл (неизбежные утечки памяти на темплейтной разметке). Иммутабельный вью? — не, не слышали. Реактивность? — а зачем? и так схавают.
А про универсальность вы по-моему недопоняли — имеется ввиду универсальность для любой инкарнации Windows 10: от телефонов и IoT, до Xbox и десктопов. То есть одна аппка на любую Windows 10 среду. Universal Windows Platform. Сравнивать такую универсальность, на мой взгляд, на данный момент, не с чем особо… Андроид, возможно?
Для кроссплатформенности есть Xamarin — macOS-таки десктопная ось
Для линуксей и всяких Unity3D есть .NET Core, который, как правильно заметили ниже, очень близок к UWP. Нам, по-крайне мере, в проектах неплохо получается шарить очень много кода между WPF, Xamarin и и UWP. В принципе, большая часть логики подходит всему (про дотнет отлично здесь расписано (частенько всем подкидываю) — http://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx)
UWP и WPF, конечно, прожорливей веба.
И про типизацию, пожалуй, соглашусь. Но это плата за отделение View'ов от логики, которую мы с радостью платим.
А остальное, по ощущениям, основывается у вас либо на опыте с WPF и Silverlight'ом трехлетней давности (там все уже совсем не так плохо и с каждой новой студией становится лучше и лучше), либо на точно таком же новомодном хайпе о реактивности и иммьютабл вьювов, то есть, холиварной теме
да вроде как на маке какие то проблемы с самим хромиумом, по крайней мере очень много issues именно для макоси.
Не, я понимаю что они имели сказать под U. Но тут поинт в том, что майкрософтские телефоны, иксбоксы и железки никому нафик не нужны, их и доля на рынке изначально мизерна и постоянно уменьшается. то есть универсальность у них сводится к десктопной W10, что конечно есть обман чистой воды. Такой банальный комерческий булшэт, которым майкрософтцы постоянно злоупотребляют.
Тут вы меня удивили, я то думал хамарин только про mobile. в любом случае под десктоп это какая-то маргинальная экзотика пока что
Так и я тоже шарю, чего уж. Отсюда и негативные впечатления от опыта с UWP. Там, где у меня перформанс упирался в дно на WPF (и приходилось даунгрейдится в winforms/MFC), там же он упирается на UWP в то же дно.
Силверлайт ушёл в небытие уже боле чем три года тому. А WPF разве что то поменялось за это время? Что там становится лучше, я например в упор не вижу. Оптимизация отрисовки через DirectX как была хуже некуда так и осталась ( https://jeremiahmorrill.wordpress.com/2011/02/14/a-critical-deep-dive-into-the-wpf-rendering-system/ ), memory leaks при разворачивании темплейтов в хамл тоже на месте.
Ну как на хайпе, если я регулярно в рамках борьбы с тормознутостью WPF залажу внутрь её компонентов и наблюдаю там тяжёлые вычисления, тупо повторяющиеся многократно в пределах одной итерации отрисовки? Реактивность — это отнюдь не блажь)
про саппорт net core я пока не понел вообще в чём прикол. Что это даёт, если тулинг там пока ещё на уровне пререлизов и сам net core в новорождённом состоянии? и вообще не понятно что там будет поддерживаться в будущем. К примеру F#-пные сборки под net core UWP отказывается линковать
Да, майкрософт непогрешим, их архитектурные решения идеальны, а если что-то пошло не так, разбей зеркало, алилуйа!
Про виртуализацию списков, асинхронность, x:Bind что-нибудь слышали?
что именно даёт вам основание полагать будто бы не слышал кроме спеси?
Даунгрейдьтесь в дос, чего уж там.
обоснуйте
Чтобы упереться в перфоманс нужны тысячи элементов на экране
Да-да. Именно так всё и происходит в глазах хипстоты. А чего не 500 или не 100500? Ну и где ваши цифры, отражающие, что именно вы в данном случае понимаете под критической производительностью?
Покажите пример, который расставит все по местам.
VS2010+, MS Oficce
Пока я вижу лишь брызганье слюной.
так и я от вас ничего не вижу кроме раздутого ЧСВ и агрессии
Он выстрелил не больше чем Adobe Air в свое время.
Мы с вами видимо в разных параллельных вселенных живём. В моей на Adobe Air не написана ни одна IDE
Там описывается Refit: The automatic type-safe REST library for .NET Core, Xamarin and .NET
плюс безопасности и масштабируемости
в чём именно проявляется этот плюс?
близка кроссплатформенной .NET Core.
на основании чего вы пришли к такому выводу?
2. Обратите внимание на пакет Microsoft.NETCore.UniversalWindowsPlatform который устанавливается автоматически с каждым приложением.
Наконец, .NET Core — это нижележащая инфраструктура, от которой зависит .NET Native. Когда проектировали .NET Native, стало понятно, что .NET Framework не подойдет в качестве фундамента для библиотек классов этой инфраструктуры. Дело в том, что .NET Native статически связывает инфраструктуру с приложением, а затем удаляет все лишнее, что не нужно приложению. (Здесь я сильно упрощаю общую картину, но идею вы уловили. Подробнее на эту тему см. «Inside .NET Native» по ссылке bit.ly/1UR7ChW.)
И в чём тут цимес? что здесь есть по вашему полезного или познавательного чтобы вчитываться в приведенный вами бойлерплейт с унылыми конфигами?
Напрямую данные получить нельзя. Работа с базами данных у UWP приложений требует настроенного REST сервиса.
Кто вам такое сказал? Элементарно можно получить без WCF, Azure и прочих костылей .
WCF REST сервисы и UWP приложения