А расскажите за Винду
От: Mamut Швеция http://dmitriid.com
Дата: 26.07.14 20:05
Оценка: 3 (1)
В процессе легкого «тестирования» нового поиска
Автор: AndrewVK
Дата: 25.07.14
на РСДН, наткнулся на такое прекрасное сообщение
Автор: VladD2
Дата: 06.12.03
2003-го года (боже, какой я старый)

Win32 API замораживается на уровен ХаРэ. На анменеджед-С++ теперь будут писаться низкоуровневые АПИ. Все новые высокоуровневые АПИ: Авалон (графическая библиотека), Индиго (комуникации), ВинФС (интелектуальная файлова система) будут исключительно в менеджед-виде. Для Авалона возможно удастся выковырять низкоуровневые либы (декомпиляторми), а вот Индиго и ВинФС максимум через обертки будут доступны.


Исполнилось ли предсказание?


dmitriid.comGitHubLinkedIn
Re: А расскажите за Винду
От: alex_public  
Дата: 26.07.14 22:12
Оценка:
Хех, это как раз очень ясный пример того, о чём я говорил в соседней темке. MS пытались продавливать подобную политику практически все 2000-ые и только пару лет назад они поняли ошибочность этого подхода. Но это было уже поздно, т.к. слишком много нативных разработчиков разбежалось с их инструментов на кроссплатформенные и возвращаться сейчас уже нет никакого желание. Не смотря на то, что сейчас работа для нативного кода в MS стала очень интенсивной (включая появление новейших разработок, не имеющих аналогов в .net).
Re: А расскажите за Винду
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 26.07.14 22:52
Оценка:
Здравствуйте, Mamut, Вы писали:


M>В процессе легкого «тестирования» нового поиска
Автор: AndrewVK
Дата: 25.07.14
на РСДН, наткнулся на такое прекрасное сообщение
Автор: VladD2
Дата: 06.12.03
2003-го года (боже, какой я старый)


M>

M>Win32 API замораживается на уровен ХаРэ. На анменеджед-С++ теперь будут писаться низкоуровневые АПИ. Все новые высокоуровневые АПИ: Авалон (графическая библиотека), Индиго (комуникации), ВинФС (интелектуальная файлова система) будут исключительно в менеджед-виде. Для Авалона возможно удастся выковырять низкоуровневые либы (декомпиляторми), а вот Индиго и ВинФС максимум через обертки будут доступны.


M>Исполнилось ли предсказание?

Avalon стал WPF
Indigo — WCF
WinFS сдох, его часть — Object Spaces переродилась в EF, но и её выпиливают.

Учитывая что Common Controls в винде так и остались на уровне 2003 года, а сокеты и WinINET не менялись практически с 98 винды, то отчасти правда.
Другое дело, что ни WPF, ни WCF не заменили нативные технологии, то отчасти нет.

Проблема таких предсказаний в том, что они не учитывают что потребности за десять лет изменятся. Это примерно как "640к памяти хватит для всех".
В 2003 году никто не думал, что победит веб и js. Идея rich desktop client была самой сильной на тот момент. Но уже к релизу WPF и WCF в 2006 году стало ясно, что громадных перспектив у этих подходов нет.

ЗЫ. WPF кстати включили таки в Windows 8, но переписав на COM. Немалую роль в переписывании сыграл Синофски, который люто ненавидел managed-код.
Re: А расскажите за Винду
От: Pavel Dvorkin Россия  
Дата: 27.07.14 04:44
Оценка: 6 (3) -1
Здравствуйте, Mamut, Вы писали:


M>

M>Win32 API замораживается на уровен ХаРэ. На анменеджед-С++ теперь будут писаться низкоуровневые АПИ. Все новые высокоуровневые АПИ: Авалон (графическая библиотека), Индиго (комуникации), ВинФС (интелектуальная файлова система) будут исключительно в менеджед-виде. Для Авалона возможно удастся выковырять низкоуровневые либы (декомпиляторми), а вот Индиго и ВинФС максимум через обертки будут доступны.


M>Исполнилось ли предсказание?


Ну так не только VladD2 в те времена делал предсказания. Вот мое (2005 год)

http://rsdn.ru/forum/philosophy/1016369.1
Автор: Pavel Dvorkin
Дата: 09.02.05


/////////////////////////////////////////////

И вот теперь подхожу к основному пункту, за который на меня скорее всего и набросятся.

У меня большие сомнения в том, что .net, позиционирующаяся как некоторая революционная технология, таковой окажется.


/////////////////////////////////////////////
With best regards
Pavel Dvorkin
Re[2]: А расскажите за Винду
От: kleng  
Дата: 27.07.14 15:31
Оценка: 5 (3) +7
Здравствуйте, gandjustas, Вы писали:

G>В 2003 году никто не думал, что победит веб и js.


Ага. Мне до сих пор кажется, что я живу в кошмарном сне. Кругом — кривые, убогие, тормозные поделия на JS.
Re[2]: А расскажите за Винду
От: kleng  
Дата: 27.07.14 15:33
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>И вот теперь подхожу к основному пункту, за который на меня скорее всего и набросятся.


Судя по оценкам — не набросились, а совсем наоборот.
Re[2]: А расскажите за Винду
От: trop Россия  
Дата: 27.07.14 15:54
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>У меня большие сомнения в том, что .net, позиционирующаяся как некоторая революционная технология, таковой окажется.

лучше jvm на llvm, а то microsoft уже вовсю новую ось лепит
-
Re[2]: А расскажите за Винду
От: Abyx Россия  
Дата: 27.07.14 16:16
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Учитывая что Common Controls в винде так и остались на уровне 2003 года, а сокеты и WinINET не менялись практически с 98 винды, то отчасти правда.

G>Другое дело, что ни WPF, ни WCF не заменили нативные технологии, то отчасти нет.

я не скажу за UI штуки, но сетевое API серьезно расширялось, почитать можно тут — http://msdn.microsoft.com/en-us/library/windows/desktop/ms740642%28v=vs.85%29.aspx
In Zen We Trust
Re[3]: А расскажите за Винду
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.07.14 18:44
Оценка: +1 :)))
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, gandjustas, Вы писали:


G>>Учитывая что Common Controls в винде так и остались на уровне 2003 года, а сокеты и WinINET не менялись практически с 98 винды, то отчасти правда.

G>>Другое дело, что ни WPF, ни WCF не заменили нативные технологии, то отчасти нет.

A>я не скажу за UI штуки, но сетевое API серьезно расширялось, почитать можно тут — http://msdn.microsoft.com/en-us/library/windows/desktop/ms740642%28v=vs.85%29.aspx


Чето я там не увидел серьезного расширения. Как использовались функции socket\connect\listen\send\receive еще с 95 винды, так по сути и остались. Появились функции для поддержки новых фич ОСей, но по сути новое появилось только в W8. И все равно вся эта ручная возня с сокетами бесконечно далека от того, что может предложить WCF.
Re: А расскажите за Винду
От: ononim  
Дата: 27.07.14 18:47
Оценка: 5 (4) +1
Ну например после ХР появились:
— Desktop Window Manager, и API для него
— Транзакционные операции с файлами и реестром, и API для них. Например раз, два.
— XPS принтинг, и API для него
— Аудиоподсистема была переделана, и появился Windows Core Audio API
— ntdll рантайм обзавелся своим внутренним развитым thread pool, ну и API для него не поленились вытащить наверх
— Win'RT — дикая помесь COM'а и plain API (например). + еще немного мусора вкинули в бедный token object

Что сделали, но не задокументировали (но я както по-необходимости расковырял):
— Window bands, и набор следующих API, торчащих из user32:
HWND WINAPI CreateWindowInBand(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwBand);
BOOL WINAPI SetWindowBand(HWND hWnd, HWND  hwndInsertAfter, DWORD dwBand);
BOOL WINAPI GetWindowBand(HWND hWnd, PDWORD pdwBand);

С помощью них сама винда, и все (сильно) желающие могут впендюривать свои окошки туда, где обычно показываются Win'RT приложения.

— WNF, вероятно расшифровывающийся как Windows Notification Framework. Используется для рассылки "сообщений" подписчикам. Сообщение — это бинарные данные. Имеют своеобразное "имя", которое по сути — 64хбитный идентификатор, который помимо иденцификации еще и указывает scope и security rules сообщений и скорее всего микрософтовский тим генерирует из макросом навроде CTL_CODE, используемого для генерации IOCTL кодов для драйверов. Вот такие вот API юзаются с ним (недоисследовал, но может комуто пригодится):
NTSTATUS NtCreateWnfStateName (PULONGLONG pName, ULONG arg_4, ULONG arg_8, BOOL arg_c, PVOID arg_10, ULONG arg_14, PSECURITY_DESCRIPTOR pSD)
NTSTATUS NtDeleteWnfStateName(PULONGLONG name)
NTSTATUS NtQueryWnfStateNameInformation (ULONGLONG *name, ULONG_PTR arg2, PVOID arg3, PVOID arg4, ULONG_PTR arg5);
NTSTATUS NtQueryWnfStateData (PULONGLONG name, PVOID arg2Zero, PVOID arg3Zero, PULONG arg4PointerToUlong0x200000, PVOID arg5Data, PULONG arg6DataLen)
NTSTATUS NtUpdateWnfStateData (PULONGLONG name, PVOID arg2Data, ULONG arg3DataLen, PVOID arg4Zero, PVOID arg5Zero, ULONG_PTR arg6Test, BOOL arg7Test)
NTSTATUS NtSubscribeWnfStateChange (PULONGLONG name, PVOID arg2, PVOID arg3, PVOID arg4)
NTSTATUS NtUnsubscribeWnfStateChange (PVOID arg) 
NTSTATUS NtWaitForWnfNotifications (WnfChangeNotifyEntry *cn_entry, PVOID arg2)
 struct WnfChangeNotifyEntry
    {
        ULONG ulUnknown1;
        ULONG ulUnknown2;
        ULONGLONG name;
        //many other still unknown bytes :(
    };
Как много веселых ребят, и все делают велосипед...
Re[2]: А расскажите за Винду
От: alex_public  
Дата: 27.07.14 21:18
Оценка:
Здравствуйте, ononim, Вы писали:

O>Ну например после ХР появились:

O>- Desktop Window Manager, и API для него
O>- Транзакционные операции с файлами и реестром, и API для них. Например раз, два.
O>- XPS принтинг, и API для него
O>- Аудиоподсистема была переделана, и появился Windows Core Audio API
O>- ntdll рантайм обзавелся своим внутренним развитым thread pool, ну и API для него не поленились вытащить наверх

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

O>- Win'RT — дикая помесь COM'а и plain API (например). + еще немного мусора вкинули в бедный token object


Вот WinRT — это действительно что-то типа революции. Только вот существенно запоздавшей — далеко не факт, что сейчас взлетит. Тем более, что старый api на десктопе никто не запрещает, а metro пока и не особо актуально.

O>Что сделали, но не задокументировали (но я както по-необходимости расковырял):

O>- Window bands, и набор следующих API, торчащих из user32:
O>
O>HWND WINAPI CreateWindowInBand(DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwBand);
O>BOOL WINAPI SetWindowBand(HWND hWnd, HWND  hwndInsertAfter, DWORD dwBand);
O>BOOL WINAPI GetWindowBand(HWND hWnd, PDWORD pdwBand);
O>

O>С помощью них сама винда, и все (сильно) желающие могут впендюривать свои окошки туда, где обычно показываются Win'RT приложения.

О, очень интересно. Не в смысле нашей дискуссии (это тоже явно не какая-то революция), а просто лично для меня. Это что, позволяет нам из обычного приложения влезть в метро интерфейс или что?
Re[3]: А расскажите за Винду
От: ononim  
Дата: 27.07.14 21:43
Оценка:
_>Ну как бы это всё прогресс, но даже близко не имеет отношения к каким-то революционным изменениям.
_>Вот WinRT — это действительно что-то типа революции. Только вот существенно запоздавшей — далеко не факт, что сейчас взлетит. Тем более, что старый api на десктопе никто не запрещает, а metro пока и не особо актуально.
Ну по моему революция — далеко не всегда то что что видно невооруженным глазом.. Ну да ладно.

O>>С помощью них сама винда, и все (сильно) желающие могут впендюривать свои окошки туда, где обычно показываются Win'RT приложения.

_>О, очень интересно. Не в смысле нашей дискуссии (это тоже явно не какая-то революция), а просто лично для меня. Это что, позволяет нам из обычного приложения влезть в метро интерфейс или что?
Да. С учетом некоторых ээ.. хитростей... А именно — не любой процесс может это сделать. Могут похоже лишь подписанные микрософтом, но и то — не все. explorer.exe — может. Потому если хочется влезть в метроинтерфейс, то можно заинжектить в экплорер свою длл, которая должна выполнить примерно такой вот код в нем:
typedef HWND (WINAPI *CreateWindowInBandProc)(DWORD dwExStyle, LPCWSTR lpClassName,
                     LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, 
                     HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwBand);

    CreateWindowInBandProc pCreateWindowInBand = (CreateWindowInBandProc)
        ::GetProcAddress(::GetModuleHandle(TEXT("user32.dll")), "CreateWindowInBand");
    if (!pCreateWindowInBand)
    {
        ::MessageBox(0, TEXT("CreateWindowInBand not found"), TEXT("Hello"), MB_ICONWARNING);
        return;
    }

    DWORD cy = ::GetSystemMetrics(SM_CYMAXIMIZED), y = 10, x = 10;
    TCHAR txt[0x100] = {0};
    for (DWORD i = 0; i<=0x20; ++i)
    {
        wsprintf(txt, TEXT("Band %u\n"), i);
        HWND w = pCreateWindowInBand(WS_EX_TOPMOST, TEXT("Edit"), txt, 
            WS_VISIBLE|WS_OVERLAPPEDWINDOW, x, y, 200, 40, 0, 0, ::GetModuleHandle(0), 0, i);
        if (!w)
        {
            wsprintf(txt, TEXT("Failed %u\n"), i);
            pCreateWindowInBand(WS_EX_TOPMOST, TEXT("Edit"), txt, 
                WS_VISIBLE|WS_OVERLAPPEDWINDOW, x, y, 200, 40, 0, 0, ::GetModuleHandle(0), 0, 0);
        }
      if (( (y+= 40 ) +40)>=cy) 
        {
            y = 10;
            x+= 200;
        }
    }
    ::MessageBox(0, TEXT("In loop.."), TEXT("Hello"), MB_ICONWARNING);
}

Это работало полтора года назад на свежезарелизенной восьмерке — создавались окошки везде где можно А сейчас могли добавить дополнительные ректальные оградки. Но по факту — все это ваше RT — не более чем надстройка над старым добрым вендогуем
Как много веселых ребят, и все делают велосипед...
Re[4]: А расскажите за Винду
От: alex_public  
Дата: 27.07.14 22:43
Оценка:
Здравствуйте, ononim, Вы писали:

O>Ну по моему революция — далеко не всегда то что что видно невооруженным глазом.. Ну да ладно.


Я к тому, что хотя winrt — это далеко не только metro ui, но ещё и много другого интересного, переписывать с помощью него приложения всё равно никакого смысла не видно, т.к. собственно сами metro приложения не особо интересны (во всяком случае такой ценой, а не просто перекомпиляцией).

O>Да. С учетом некоторых ээ.. хитростей... А именно — не любой процесс может это сделать. Могут похоже лишь подписанные микрософтом, но и то — не все. explorer.exe — может. Потому если хочется влезть в метроинтерфейс, то можно заинжектить в экплорер свою длл, которая должна выполнить примерно такой вот код в нем:

O>...
O>Это работало полтора года назад на свежезарелизенной восьмерке — создавались окошки везде где можно А сейчас могли добавить дополнительные ректальные оградки.

Оуу, как всё плохо. Такое вряд ли получится использоваться в каких-то реальных продуктах. Хотя на всякий случая буду иметь в виду этот хак. Спасибо за информацию.

O>Но по факту — все это ваше RT — не более чем надстройка над старым добрым вендогуем


Ну да, точнее не над gui, а над вообще классическим win api. Это известный факт, но вроде как в будущем собирались начинать делать реализации и в самом winrt. Правда пока не понятно взлетит оно как будущий основной win api или нет — сейчас оно актуально только при очень большом желание влезть в их сомнительный магазинчик приложений... )
Re[3]: А расскажите за Винду
От: fdn721  
Дата: 28.07.14 11:47
Оценка: :)))
Здравствуйте, alex_public, Вы писали:

_>Вот WinRT — это действительно что-то типа революции. Только вот существенно запоздавшей — далеко не факт, что сейчас взлетит. Тем более, что старый api на десктопе никто не запрещает, а metro пока и не особо актуально.


Проблема WinRT в магазине MS. До MS ну ни как не доходит что нельзя сужать свободу пользователей.
Если один раз разрешили свободно писать/запускать/распространять ПО, то теперь это не запретить.

Как следствие FOSS сообщество игнорирует WinRT. Нет FOSS — нет бесплатных(без рекламы) программ и библиотек.
Нет бесплатных библиотек, не на чем писать коммерческие программы. Не на чем писать программы под WinRT , бизнес пишет их под WinAPI.

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

Спасти ситуацию может разрешение устанавливать программы в обход магазина, ну и как следствие разработка без получения всяких сертификатов MS. Только MS на это не пойдёт, не дают покоя лавры Apple и желание получать деньги с каждой запущенной программы под WinRT.

Мой прогноз на будущее, если не будет свободы запуска программ, то WinRT не взлетит и будет похоронен MS после выхода Windows 9 или возможно чуть раньше.
Re[2]: А расскажите за Винду
От: Cyberax Марс  
Дата: 28.07.14 12:05
Оценка:
Здравствуйте, ononim, Вы писали:

O>- Транзакционные операции с файлами и реестром, и API для них. Например раз, два.

Для новой файловой системы уже открутили обратно.

O>- XPS принтинг, и API для него

[StartXpsPrintJob is not supported and may be altered or unavailable in the future. ]

O>- Аудиоподсистема была переделана, и появился Windows Core Audio API

С потерей возможности использовать продвинутые аппаратные микшеры.

O>- ntdll рантайм обзавелся своим внутренним развитым thread pool, ну и API для него не поленились вытащить наверх

А смысл?
Sapienti sat!
Re[3]: А расскажите за Винду
От: ononim  
Дата: 28.07.14 12:45
Оценка:
O>>- Транзакционные операции с файлами и реестром, и API для них. Например раз, два.
C>Для новой файловой системы уже открутили обратно.
Судя по некоторым отзывам ReFS — это фэйловая, а не файловая система...
Кстати для нее тоже придумали новые "АПИ": http://hex.pp.ua/refs-novoe-api.php

O>>- XPS принтинг, и API для него

C>[StartXpsPrintJob is not supported and may be altered or unavailable in the future. ]
O>>- Аудиоподсистема была переделана, и появился Windows Core Audio API
C>С потерей возможности использовать продвинутые аппаратные микшеры.
O>>- ntdll рантайм обзавелся своим внутренним развитым thread pool, ну и API для него не поленились вытащить наверх
C>А смысл?

А я не спорю что в микрософте творицца бардак и индократия (главный придумыватель ReFS). Просили новые апи — вот вам новые апи. Хтож виноват что это самое вендоапи бурлит и самовыпиливается периодически...
Как много веселых ребят, и все делают велосипед...
Re[4]: А расскажите за Винду
От: Cyberax Марс  
Дата: 28.07.14 12:51
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>- Транзакционные операции с файлами и реестром, и API для них. Например раз, два.

C>>Для новой файловой системы уже открутили обратно.
O>Судя по некоторым отзывам ReFS — это фэйловая, а не файловая система...
Это в MS уже давно традиция. NTFS была крутой идеей в 92-м году, когда её задумали, но с тех пор с FS связаны только фейлы.

Новая файловая система уже отчаянно нужна для конкуренции с ZFS и btrfs, но похоже, что ничего не дождёмся.

O>Кстати для нее тоже придумали новые "АПИ": http://hex.pp.ua/refs-novoe-api.php

Ну это как раз нормально, специальный API для доступа к специфичным функциям FS.

O>>>- ntdll рантайм обзавелся своим внутренним развитым thread pool, ну и API для него не поленились вытащить наверх

C>>А смысл?
O>А я не спорю что в микрософте творицца бардак и индократия (главный придумыватель ReFS). Просили новые апи — вот вам новые апи. Хтож виноват что это самое вендоапи бурлит и самовыпиливается периодически...
А Win32 жил, живёт и будет жить — прямо как Ленин.
Sapienti sat!
Re[5]: А расскажите за Винду
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 28.07.14 13:21
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Новая файловая система уже отчаянно нужна для конкуренции с ZFS и btrfs, но похоже, что ничего не дождёмся.


А я так надеялся...
HgLab: Mercurial Server and Repository Management for Windows
Re[4]: А расскажите за Винду
От: alex_public  
Дата: 28.07.14 15:58
Оценка:
Здравствуйте, fdn721, Вы писали:

F>Проблема WinRT в магазине MS. До MS ну ни как не доходит что нельзя сужать свободу пользователей.

F>Если один раз разрешили свободно писать/запускать/распространять ПО, то теперь это не запретить.

F>Как следствие FOSS сообщество игнорирует WinRT. Нет FOSS — нет бесплатных(без рекламы) программ и библиотек.

F>Нет бесплатных библиотек, не на чем писать коммерческие программы. Не на чем писать программы под WinRT , бизнес пишет их под WinAPI.

F>Не помогли MS даже все возможные заманухи с бесплатной студией, грошовой регистрацией в магазине, и возможностью писать программ сразу для десктопа/планшета и в некотором смысле для телефона.


F>Спасти ситуацию может разрешение устанавливать программы в обход магазина, ну и как следствие разработка без получения всяких сертификатов MS. Только MS на это не пойдёт, не дают покоя лавры Apple и желание получать деньги с каждой запущенной программы под WinRT.


F>Мой прогноз на будущее, если не будет свободы запуска программ, то WinRT не взлетит и будет похоронен MS после выхода Windows 9 или возможно чуть раньше.


Согласен со всем. Но думаю дело не только в анальном рабстве, а ещё и очень важно соотношение затрат ресурсов к потенциальной прибыли. И тут у metro приложений всё очень плохо. По сути их надо переписывать заново (не знаю пока ни одной кроссплатформенной библиотеки, которая бы уже расширилась на winrt), причём больше нигде этот код не пригодится. И при этом сам рынок metro приложений не сказать чтобы очень интересный в данный момент. Т.е. если бы был хотя бы только один из этих двух факторов (например рынок маленький как сейчас, но приложения легко портируются или же наоборот, приложения надо полностью переписывать, но зато открывается огромный и не насыщенный рынок), то наверняка взлетело бы. А вот в таком сочетание очень сомнительно...
Re[4]: А расскажите за Винду
От: CreatorCray  
Дата: 28.07.14 16:42
Оценка: +1
Здравствуйте, fdn721, Вы писали:

F>Как следствие FOSS сообщество игнорирует WinRT. Нет FOSS — нет бесплатных(без рекламы) программ и библиотек.

F>Нет бесплатных библиотек, не на чем писать коммерческие программы. Не на чем писать программы под WinRT , бизнес пишет их под WinAPI.

Притянуто за уши. Никому просто не впёрся метрошный интерфейс. На десктопе — неудобно, на планшетах — слишком мал виндопланшетный рынок.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.