Запрошуємо на конференцію DotNext

3 червня в Санкт-Петербурзі відбудеться п'ята за рахунком конференція DotNext для розробників на платформі .NET. Про майбутнє платформи .NET розповідають Ромуальд Здебский, керівник напряму Microsoft по іграм в Центральній і Східній Європі, який зробить на DotNext доповідь на тему «Розробка ігор на платформі Microsoft — технологічний огляд», і технологічний євангеліст Microsoft Дмитро Сошників, який виступить на DotNext з доповіддю «Скільки життів .NET: розмірковуємо про долю коханої платформи, загибелі Silverlight і тому подібне».



Якими спочатку були цілі створення платформи .NET? Досягнуті вони?

Дмитро Сошників: Поява .NET — це реакція на підвищення складності програмних систем. Коли стало занадто важко створювати серйозні програми на C++, особливо з урахуванням існування різних обчислювальних платформ, з'явилася мета радикально спростити процес створення програмного забезпечення, у тому числі багатоплатформений. І зрештою дослідники навчилися ізолювати апаратні складності (а заразом і низку важких моментів, таких, як розподіл пам'яті, багатопоточність і т. д.) на рівні абстрактної віртуальної машини, а прикладному програмісту давати можливість створювати код для цієї машини. Так з'явилися Java і .NET. Але основною метою мови Java була можливість запускати один і той же байт-код на всіх пристроях, в той час як платформа .NET пишалася різноманіттям підтримуваних мов програмування.
Треба сказати, що основні цілі по суті були досягнуті вже за фактом створення платформи. Тепер же ми просунулися набагато далі. На основі .NET можна писати програми під всі основні мобільні платформи і під мікроконтролери. В арсеналі .NET-програміста — цілий спектр мов від C# F# Python і Objective C. Код на базі .NET використовується як на пристроях, так і в хмарі. Мрія програміста збулася — знаючи лише один стек технологій, він може бути продуктивним, розробляючи практично будь-який програмний код.

Розкажіть коротко про сучасних технологіях розробки ігор для платформи Microsoft, таких як Windows і Xbox. У чому їх переваги перед альтернативними платформами?

Ромуальд Здебский: Напевно, найцікавіше зараз перевага для розробників .NET полягає в тому, що на всіх пристроях, на усіх форм-факторах тепер актуальна операційна система Windows 10 — з єдиним ядром, єдиним магазином додатків і, що особливо важливо для розробників, єдиним API, який дозволяє, розробивши гру і створивши єдиний інсталяційний пакет, дати можливість користувачам грати в цю гру на будь-яких пристроях з будь-якими форм-факторами, на смартфонах, ноутбуках, десктопах, Xbox One, HoloLens. Розробники завжди мріяли про те, щоб менше займатися низькорівневими технічними речами, пов'язаними з портированием або з можливістю запуску додатків на різних форм-факторах, і більше зосередитися на тому, що цікаво — на створення логіки додатка, інноваційних алгоритмів, підвищенні продуктивності, оптимізацією і т. д. І якраз Windows 10, Універсальний Windows Platform, це дозволяє реалізовувати.

Що ці платформи цікаві для розробників на платформі .NET?

Ромуальд Здебский: Це питання містить в собі відповідь — з урахуванням відповіді на перше питання. Тепер можна створювати додатки не для якоїсь малонаселеній користувачами реальності, а для дуже великої екосистеми Windows. На Windows 10 функціонує вже більше 300 млн пристроїв. Зростання інсталяційної бази Windows 10 вже майже в 1,5 рази випереджає зростання в свій час дуже популярною Windows 7. Більше мільярда ПК на планеті зараз можуть бути безкоштовно оновити до Windows 10. Ми очікуємо, що протягом наступних двох-трьох років інсталяційна база Windows 10 досягне більш ніж мільярда пристроїв — і доступ до цієї величезної аудиторії дає розробникам .NET.

Чим викликана критика .NET з боку спільноти розробників? Яка позиція Microsoft з цих питань?

Дмитро Сошників: Microsoft — велика компанія, і її люблять лаяти. Дуже популярно було, наприклад, критикувати «закритість» .NET, те, що називається «vendor lock». Однак тепер ситуація докорінно змінилася, оскільки майбутнє .NET визначає вже не Microsoft, а організація .NET Foundation. Вихідний код нового покоління .NET відкритий і розробляється колективними зусиллями по моделі відкритого вихідного коду.

Ще одна популярна «претензія» — це часті зміни. Спочатку була класична платформа .NET, потім Silverlight, потім Universal Windows Platform — і кожен раз приходилося переучуватися. З цим частково доведеться погодитися — але це вірно не тільки відносно .NET. Насправді будь-який розробник повинен бути готовий все життя вивчати щось нове і жити в умовах невизначеності! Більше того, до цього повинен бути готовий взагалі будь-який серйозний професіонал у будь-якій предметній області.

Ромуальд Здебский: Коли з'явилася платформа .NET, вона охоплювала в першу чергу найбільш популярні на той час форм-фактори — настільний Windows-клієнт і Windows Server. Тоді це був один з найбільш популярних форм-факторів в світі. Але із зростанням популярності інтернету зростала популярність різних інтерактивних веб-плагінів, таких якAdobe Flash і т. д. Тому ми розробили «легку» браузерну «адд-ін» Silverlight, щоб розробники могли створювати багаті, інтерактивні веб-додатки на базі .NET. Сьогодні популярність браузерних додатків падає, індустрія рухається до HTML 5, щоб браузери працювали з передбачуваною продуктивністю без нативних «адд-інів» для базового рендеринга.

І, нарешті, індустрія рушила у бік мобільних додатків. Для перших версія Windows Phone була використана платформа Silverlight — «легкий» браузерний «адд-ін». А тепер з'явилася Windows 10, Універсальний Windows Platform — це .NET c можливістю створювати на C# і додатки та ігри. Компанія Xamarin влилася в Microsoft, і ми зробили її інструментарій безкоштовним — це прекрасна можливість .NET розробників використовувати свої навички для створення крос-платформних додатків, що працюють на iOS, і на Android. Дуже популярна середовище розробки ігор Unity, в якій можна використовувати також C#.

До речі, те ж саме відбувається на серверній стороні —.NET Core дозволяє .NET-розробникам створювати, наприклад, ASP.NET-додатків для Mac OS і Linux.

Silverlight спочатку вважалася вельми перспективною технологією, проте її розвиток припинено. Можна коротко поділитися історією питання, чи з'явиться альтернатива цієї технології?

Дмитро Сошників: Silverlight — це по суті перша спроба зробити на базі принципів .NET альтернативний «легкий» фреймворк, здатний працювати в браузері на різних платформах. Завдяки своїй «легковажності» він застосовувався для додатків Windows Phone 7.

Але зараз сама ідея використання плагінів сходить нанівець, а покоління Windows Phone 7 витіснена більш сучасними пристроями, тому і актуальність Silverlight падає. Замість нього з'являються нові реінкарнації платформи .NET, у т. ч. .NET Native і .NET Core, засновані на одних і тих же базових принципах і базових API.

Ви вважаєте, що той факт, що в стратегії платформи часто відбуваються зміни, не є проблемою .NET?

Ромуальд Здебский: Навіщо ми щось змінюємо? Заради того, щоб і платформа, і розробники залишалися актуальними на сучасному ринку. Ми хочемо бути конкурентоспроможною платформою, ми хочемо розвиватися. Всі зміни, які ми вносимо, так чи інакше пов'язані саме з цим. Все це робиться в рамках загальної стратегії відкритості робиться для того, щоб і сама компанія Microsoft, і розробники на платформі Microsoft залишалися конкурентоспроможними.

Дмитро Сошників: Між іншим, основні принципи та базові API платформи .NET залишаються незмінними вже понад 10 років, так що .NET може вважатися однією з найбільш стабільних технологій, особливо порівняно з різноманітними новомодними фреймворками, які встигають всього за рік стати популярними і померти.

Які перспективи мобільних ігор на Windows Phone?

Ромуальд Здебский: Тут треба говорити ширше, не можна замикатися лише на Windows Phone. .NET дозволяє створювати універсальні ігри, які запускаються на смартфонах, планшетах, на персональних комп'ютерах, ігрових приставках. Тільки так ви охопіть своїми іграми всю потенційну аудиторію. Якщо концентруватися тільки на смартфонах, то більше половини аудиторії залишиться «за бортом». Зараз вже неправильно створювати окремі версії ігор під різні форм-фактори. Треба створювати єдину гру, передбачаючи коректне, розумне масштабування. Виходити зараз з грою, яка не розрахована на всі форм-фактори – не найефективніший підхід.

Новітні засоби розробки дозволять переупаковувати ігри для персональних комп'ютерів в пакети для завантаження в магазин додатків Windows та поширенню через нього. Я детальніше зупинюся на цьому у своїй доповіді на DOTNEXT.

В цілому — як, на ваш погляд, майбутнє .NET?

Дмитро Сошників: На мій погляд — райдужне! Розвиток .NET відбувається за декількома напрямками:

  • Підтримка різних платформ і середовищ виконання. Зараз .NET виконується на компактних пристроях під управлінням Windows 10, на Linux — загалом, майже скрізь, де може працювати програмний код, від мікроконтролерів до хмари.

  • Особливо важлива багатоплатформність в сенсі охоплення мобільних платформ — iOS, Android, Windows Phone. Завдяки недавнім придбання Xamarin, американського виробника багатоплатформених засобів програмування, тепер будь-який розробник може створювати додатки для будь-якої мобільної платформи, перебуваючи на будь-якій платформі, з використанням перевірених мов (C#/F#) і інструментів. Варто додати сюди Unity як ігрову платформу, також засновану на C#/.NET, і ми отримуємо повний охоплення мобільних платформ!

  • Важливо згадати розширення API на різні сфери, такі, наприклад, як побудова компіляторів. Інструментарій Roslyn дозволяє маніпулювати програмами на C#/VB і легко створювати інструменти, вбудовані в процес компіляції.

  • Поширення ідей функціонального програмування та супутніх технологій швидкої обробки та аналізу даних. Навколо мови F# виникає ціла екосистема продуктів, що дозволяють проводити інтелектуальну обробку і дослідження даних в інтерактивному режимі, потім переносячи її в хмару. Ряд компаній (найбільш відомий кейс Jet.com), використовуючи заснований на F# технологічний стек, істотно підвищили свою ефективність.
Особисто я, коли перейшов на .NET зі світу Java в 2003 р., відчув себе значно щасливішими. А сьогоднішня платформа .NET робить програміста щасливішими у всіх відносинах — будь то можливість використовувати розумний і красивий мову F# або дозволяючи відразу писати програми для всього різноманіття мобільних платформ і хмарних сервісів.



Поділяєте точку зору фахівців або хочете вступити в суперечку про перспективи .NET? Немає нічого простіше — всі будуть почуті на DotNext Piter.

Часу залишається зовсім мало — подбайте про літаку, поїзді, машині, мотоциклі, велосипеді до Санкт-Петербурга заздалегідь.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.