• Релиз кросс-платформенного .NET UI-тулкита AvaloniaUI 0.8

      Состоялся очередной бета-релиз AvaloniaUI.



      В релиз вошло большое количество багфиксов, оптимизаций производительности и ряд новых возможностей. Что нового, можно узнать под катом.

      Читать дальше →
    • Релиз первой беты кросс-платформенного XAML UI-тулкита Avalonia

        Состоялся релиз первой бета-версии Авалонии.


        Avalonia — кроссплатформенный .NET UI-тулкит, вдохновлённый технологиями WPF и распространяемый под лицензией MIT. Он полностью поддерживает .NET Core 2.0, XAML, дата-биндинги, lookless-контролы и многое другое. Avalonia позволяет писать на C# приложения под Windows, Linux и Mac OS X. Возможность запуска на iOS и Android находится в экспериментальном состоянии.



        Данная версия стабильна и имеет полное право называться бетой: тулкит не разваливается в руках и имеет приличный базовый набор контролов (см. видео). На нём создано два достаточно больших приложения с открытым исходным кодом: AvalonStudio — кроссплатформенная IDE для разработки на C# и C++ и Core2D — редактор 2D-схем и диаграмм.

        Читать дальше →
      • Релиз кросс-платформенного XAML UI-фреймворка AvaloniaUI 0.5

          Состоялся релиз версии 0.5 кросслплатформенного XAML UI фреймворка AvaloniaUI (раннее назывался Perspex). Фреймворк сделан по тем же принципам, что и WPF/UWP, т. е. используется XAML, биндинги и шаблонизированные элементы управления. На текущий момент это единственный способ сделать UI на настоящем XAML, который будет работать на Windows, OS X и Linux (так же имеется экспериментальная поддержка iOS и Android).


          КПДВ


          Каталог встроенных контролов (gif 3MB)


          Начать работать с фреймворком можно скачав дополнение для Visual Studio 2017 и создав проект из шаблона. Так же стоит ознакомиться с документацией на wiki.


          В этом релизе: Поддержка .NET Core, переход на GTK3 для *nix-систем, поддержка вывода через Linux fbdev, система расширений, исправлено множество ошибок.

          Читать дальше →
        • Третья альфа версия Perspex UI Framework с поддержкой iOS/Android

            Мы рады представить третью альфа версию Perspex (см. предыдущий анонс).
            Perspex — кроссплатформенный UI-фреймворк для .NET с открытым исходным кодом, сделанный по образу и подобию WPF, с XAML, биндингами, шаблонами контролов, собственной системой отрисовки и прочими плюшками.

            В этом релизе добавлена первоначальная поддержка платформ iOS и Android, улучшены дизайнер и XAML, исправлено множество ошибок.



            Список изменений под катом.
            Читать дальше →
            • +24
            • 7.1k
            • 9
          • Perspex — кросплатформенный UI-фреймворк с XAML и биндингами

              TL;DR: кроссплатформенный клон WPF. От других попыток сделать нечто с XAML-ом выгодно отличается наличием полностью своей системы отрисовки со сменными бакэндами (сейчас поддерживается Direct2D и Cairo). В наличии инспектор, дизайнер (см. видео). Биндинги сделаны на стероидах под названием ReactiveExtensions (старый стиль тоже можно использовать). Умеет работать с Windows/Linux/MacOS, поддержку мобильных платформ планируется добавить в начале следующего года посредством отрисовки через MonoGame.


              Читать дальше →
            • Поддержка SSH в Windows силами Microsoft

                Картинка для привлечения вниманияИнициировано это всё командой разработки PowerShell, которую периодически на эту тему активно пинают. Будет как интегрированный PowerShell ssh-клиент, так и SSH-сервер под Windows. Помимо этого взаимодействие между windows-машинами для удалённого управления через PowerShell также планируется осуществлять через ssh. Реализовать это дело планируется на базе проекта OpenSSH, в который будут отправляться необходимые патчи.

                До этого были попытки реализовать SSH-клиент в PowerShell V1/V2, но они так и не были представлены общественности.

                [ Оригинал ]
              • Релиз Mono 4.0 с импортом кода из referencesource.microsoft.com и corefx


                  — Сделали поддержку C# 6 по-умолчанию
                  — Потюнили в плане улучшения производительности GC и рантайм
                  — Ускорили операции с float на 30-40%
                  — Добавили поддержку PowerPC64 LE
                  — И, самое главное импортировали очень большой кусок BCL из .NET Framework.
                  Список импортированного кода
                  • +54
                  • 23.1k
                  • 7
                • LLILC — транслятор MSIL в байткод LLVM от Microsoft

                    Сегодня сотрудник Microsoft анонсировал проект LLILC — новый проект для трансляции MSIL в байткод LLVM, предназначенный пока главным образом для инфраструктуры CoreCLR. В ближайшее время он может быть использован для JIT-компиляции, а в дальнейшем и для формирования прекомпилированных сборок (Ahead-of-Time) средствами .NET Native.

                    Несмотря на то, что в CoreCLR уже есть свой JIT, планируется расширить поддержку различных платформ за счёт LLVM. Новый JIT использует тот же набор внутренних API, что и RyuJIT и бесшовно его заменяет. Таким образом новый JIT позволит .NET-коду выполняться на всех поддерживаемых LLVM-платформах, на которые можно портировать CoreCLR.
                    Читать дальше →
                    • +32
                    • 11.4k
                    • 3
                  • .NET Framework скоро Open Source и на *nix


                      Основное

                      • Reference Source для .NET 4.6 перелицензируется под MIT;
                      • В дальнейшем фреймворк будет с открытыми исходниками и поставляться по частям через NuGet, можно будет с приложением поставлять свою сборку, которая будет изолирована от всего остального;
                      • Разработка переезжает на GitHub;
                      • Скоро откроют исходники рантайма, включая RyuJit и сборшик мусора;
                      • Для всего этого счастья планируется официальная поддержка никсов.





                      Mono не то чтобы больше не нужен, в дальнейшем с ними будут плотно сотрудничать для портирования, вероятно, этот стек будет некоторое время поставляться в составе Mono, так как открыто ещё далеко не всё и для полноценной работы потребуются вещи из его состава.
                      На закуску
                    • Cкайпокалипсис: SkypeKit — RIP; Вход со старых версий Скайпа — RIP.
 


                        SkypeKit — набор инструментов для создания своего UI для Skype либо для интеграции оного в сторонние месенджеры (была интеграция в Trillian, например). Со следующей недели все написанные с его использованием приложения перестанут работать. Прошлой осенью прекратили поддержку API и закрыли магазин приложений. Теперь отключают и SkypeKit.
                        Фрагмент оригинального письма:
                        As previously communicated, all support for SkypeKit ended on 31 July, 2014. No further updates to the SkypeKit SDK will be available.
                        In addition, we've made the decision that from 4 August, 2014 we will be permanently retiring the SkypeKit SDK. As a result, any one accessing your SkypeKit-enabled application will be unable to sign into Skype or access any Skype-enabled functionality via your application.

                        Так же сегодня перестали подключаться все старые версии скайпа. Совсем.
                      • ASP.NET vNext. Open Source и с поддержкой Linux

                          Microsoft анонсировали новую версию стека ASP.NET под лицензией Apache 2 с поддержкой запуска на платформе Mono. Помимо открытости исходников распространяться это дело будет через NuGet, а разработка вестись под эгидой .NET Foundation. Так же новый стек оптимизирован под облачные платформы, а инструментарий разработки позволяет вносить изменения в код без перкомпиляции и перезапуска.

                          Изменения касаются так же MVC, Web API, Web Pages, SignalR и EF. MVC, Web API и Web Pages теперь придерживаются единой програмной модели, например, используется один и тот механизм маршрутизации, а базовый контроллер один на всех, с одного адреса можно возвращать как вьюшки, так и ответы WebAPI. Оптимизация под облака по большей части заключается в том, что механизмы типа кеширования прозрачно переключают свою реализацию в зависимости от того, где запущено приложение.
                        • Магазин приложений Skype будет закрыт 21 октября

                            Вслед за июльскими письмами счастья пришло новое. С письменным уведомлением о расторжении договора о публикации приложения в этом самом магазине. Теперь можно с уверенностью сказать, что Skype Desktop API точно отключат, причём, вероятно, ещё до конца этой осени, ибо Microsoft с означенного момента более не несёт каких-либо юридических обязательств перед разработчиками. Текст письма привожу под катом, но поскольку оно главным образом относится к порядку выплат за проданные копии платных приложений, переводить не считаю нужным.
                            Читать дальше →
                          • У Nginx появилась платная версия — Nginx Plus

                              Об этом сегодня написали на nginx.com. Платные плюшки:

                              • Мониторинг работоспособности бакэнда
                              • Мониторинг активности в реальном времени с экспортом в JSON
                              • Продвинутые правила балансировки загрузки
                              • Реконфигурация на лету с поддержкой HTTP API
                              • Расширенные возможности логирования
                              • Настройки для обеспечения высокой доступности
                              • Потоковое вещание MP4, FLV, Adobe HDS и Apple HLS с поддержкой адаптивного битрейта

                              Обойдётся это счастье в 1350 долларов в год за установку. В придачу к новым возможностям предоставляется техническая поддержка.
                              Читать дальше →
                            • Краткое введение в GNU autoconf

                              I saw a book entitled «Die GNU Autotools» and I thought «My feelings exactly». Turns out the book was in German1.

                              Можно долго рассуждать о несовершенстве сего инструментария, о превосходстве CMake/QMake/подставьте_вашу_любимую систему сборки, но проекты, использующие autotools, окружают нас повсюду, и стоит как минимум знать, что это за зверь и с чем его едят, чтобы при попытке сделать, а то и отправить разработчикам патч, не править автосгенерированные файлы, чем я не так давно занимался.

                              Так же следует понимать, что именно autoconf системой сборки не является вообще, это система конфигурации перед сборкой. autoconf почему-то многие считают неким монстром, «проверяющим 15 давно несуществующих версий компилятора Fortran, а потом поддержку ключей этими компиляторами», что не совсем верно, ибо оно делает ровно то, что ему скажут. Другое дело, что многие просто копипастят его конфиг из проекта в проект, в итоге результат получается ужасающим.

                              В данной статье (планируется всё же осилить цикл) я хотел бы рассказать про autoconf, зачем он нужен и как его использовать.
                              Читать дальше →
                            • Microsoft отказывается от SkypeKit и Skype Desktop API

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

                                Содержательная же часть заключалась в следующем:
                                Читать дальше →
                              • Используем фичи C# 5 (async и await) в .NET 2.0

                                  Посвящается тем 45% .NET разработчиков, что до сих пор сидят на фремворках 2.0-3.5.

                                  Да, вы не ослышались. async и await во втором дотнете. Но обо всём по порядку.

                                  Зачем?

                                  В какой-то момент мне надоело вручную возиться с написанием асинхронного кода. Async/awat выглядели слишком вкусными, чтобы не попробовать. Зная, что Microsoft при добавлении новых возможностей в язык и компилятор не привязывает их жёстко к фреймворку (так, extension-методы и LINQ отлично можно использовать во втором .NET, если где-нибудь объявить System.Runtime.CompilerServices.ExtensionAttribute), и видя Async CTP, добавляющего возможность использования async/await в 2010-ую студию при использовании в качестве целевого фреймворка .NET 4.0, я подумал, а почему бы и нет?

                                  Читать дальше →
                                  • +45
                                  • 22.9k
                                  • 4
                                • Открыт сбор заявок на участие в бета-тестировании Steam для Linux

                                    Подать заявку вы можете здесь.
                                    Компания собирается отобрать 1000 опытных пользователей Linux, которые смогут адекватно оценить работу Steam и составить в случае чего вменяемые багрепорты.
                                    В комплект помимо клиента Steam будет входить одна из игр Valve, по всей видимости, Left4Dead 2.
                                    Несмотря на то, что в опросе можно указать, что вы пользуетесь не Ubuntu, предпочтение, по всей видимости, будет всё же отдано пользователям этого дистрибутива, поскольку ранее Valve анонсировала Steam именно для него, а сама бета-версия будет оформлена в виде бинарных пакетов для Ubuntu 12.04 и 12.10.
                                    Следить за новостями можно в специальной группе на сайте steamcommunity.com.
                                  • Вышел MonoDevelop 3.0

                                      Релиз был бы ничем не примечателен, если бы состоял только из тонн багфиксов и улучшений производительности. Однако же помимо них присутствуют два заметных глазу улучшения:
                                      1) Поддержка сборки приложений для Mac App Store
                                      2) Кардинальные улучшения в редакторе текста

                                      На последнем стоит остановиться подробнее.

                                      Читать дальше →
                                    • Прикручиваем Head Up Display к MonoDevelop или о том, как криво сделано глобальное меню в Ubuntu



                                        Проблема с неработоспособностью HUD в MonoDevelop уходит корнями в старый баг, вызванный переходом на глобальное меню и заключавшийся в том, что менюшки у MonoDevelop не показывалось вообще никакой. Его "починили", выключив использование глобального меню как такового. Это же так просто, не фиксить проблему в своей кривой либе, а сделать чёрный список приложений.
                                        Тяга к экономии пикселей и желание таки прикрутить HUD взяли своё. Целых два часа моего драгоценного времени, несколько костылей и всё таки завелось.

                                        Небольшой экскурс в работу глобального меню: оно экспортируется приложением через D-Bus, а чтобы разработчики не писали дополнительный код, в Canonical наклепали хитровывернутых библиотек, берущих нормальное, человеческое меню оконного тулкита и экспортирующие его за разработчика, причём, как выяснилось, весьма криво, но об этом потом. При этом возможности вручную экспортнуть это меню нет. Точнее, есть какая-то мутная библиотечка с названием libdbusmenu и полным отсутствием хоть какой-то документации, не говоря уже о биндингах к чему-либо. Этакая проприетарщина наоборот — код открыт, но использовать его толком нельзя ввиду невозможности быстро понять, как с этим вообще работать. Таким образом реализовать в GnomePlatform.cs метод SetGlobalMenu (предусмотренный специально для систем с глобальным меню и реализованный в MacPlatform.cs) не представляется возможным, что ж, придётся разбираться с тем, почему не работает костыль с экспортилкой и придумывать свои костыли, чтобы оно заработало. Я такими извращениями не занимался со времён, когда нужно было заставить работать Навител на разнокалиберных китайских железках с изувеченной до неузнаваемости WinCE 4.2.

                                        Читать дальше →
                                      • CXXI: Мост между мирами C# и C++

                                        • Translation
                                        В рантайме Mono есть немало средств для взаимодействия с кодом на не .NET языках, но никогда не было ничего вменяемого для взаимодействия с кодом на C++.

                                        Но это вскоре изменится благодаря работе Алекса Коррадо, Андрэа Гайта и Зольтана Варга.

                                        Вкратце, новая технология позволяет разработчикам C#/.NET:

                                        • Легко и прозрачно использовать классы C++ из C# или любого иного .NET языка
                                        • Создавать экземпляры классов C++ из C#
                                        • Вызывать методы классов C++ из кода на C#
                                        • Вызывать инлайн-методы C++ из кода на C# (при условии, что библиотека скомпилирована с флагом -fkeep-inline-functions или если вы скомпилируете дополнительную библиотеку с их реализациями)
                                        • Наследовать классы C++ из C#
                                        • Переопределять виртуальные методы классов C++ методами на C#
                                        • Использовать экземпляры таких смешанных C++/C# классов как в коде на C#, так и в коде на C++

                                        Читать дальше →