metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-14 08:02 am

Win8: они что, решили забить священную корову WinAPI?

Metro style apps can use a subset of the Win32 and COM API. This subset of APIs was chosen to support key scenarios for Metro style apps that were not already covered by the Windows Runtime, HTML/CSS, or other supported languages or standards. The Windows App Certification Kit ensures that your app uses only this subset of the Win32 and COM API.

http://msdn.microsoft.com/en-us/library/windows/apps/br205757.aspx

[identity profile] dair-spb.livejournal.com 2012-06-14 08:03 am (UTC)(link)
Метро-апи забавный, да. Там, например, вся работа с файловой системой асинхронна.

[identity profile] blackyblack.livejournal.com 2012-06-14 10:36 am (UTC)(link)
Потеряют они рынок с этим метром. И какая польза от асинхронной работой с файловой системой?

[identity profile] blackyblack.livejournal.com 2012-06-14 04:43 pm (UTC)(link)
А поконкретнее? Куда девать весь тот код, написанный для файлового ввода-вывода в блокирующем режиме?

[personal profile] ex0_planet 2012-06-14 09:28 pm (UTC)(link)
Переписать.

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

[identity profile] metaclass.livejournal.com 2012-06-15 05:13 am (UTC)(link)
Собственно говоря, если не писать на С++, а на человеческих языках, и использовать сборку мусора - то проблем с асинхронным вводом-выводом быть не должно - с сетью и аппаратными портами мы ж сейчас спокойно работаем.

[identity profile] blackyblack.livejournal.com 2012-06-15 05:24 am (UTC)(link)
Ну а в ещё более человеческих языках асинхронным апи не заморачиваются. Блокирующий ввод-вывод в коде реализуется естественнее, а вопросы производительности решаются многопоточностью.

[identity profile] metaclass.livejournal.com 2012-06-15 06:26 am (UTC)(link)
Там вопрос не в производительности, а отзывчивости приложения - чтобы занятое обменом по сети или с диском приложение реагировало на пользователя.