Судя по комментариям, этот вопрос волнует большинство наших читателей, и я попробую на него ответить. Дело в том, что я уже несколько лет профессионально занимаюсь разработкой ПО, и, как мне кажется, могу понять проблемы, с которыми сталкивается Microsoft в процессе разработке Windows 10 Mobile.
На самом деле Стоит рассмотреть 2 основных вопроса.
1. Почему редко выходят сборки для смартфонов Lumia?
2. Почему нету сборок для большинства моделей других производителей.
Приступим.
Во первых, нужно понять, в чем заключается главное отличие между PC и мобильными телефонами. PC — конструктор, сотни стандартов заставляют производителей «железа» делать так, чтобы замена любого из компонентов была безболезненна для пользователя. Телефоны же монолитны и каждое конкретное устройство работает только с теми компонентами, которые стояли в нем с рождения. С одной стороны, это позволяет выжимать больше производительности из каждого куска кремния, с другой же, усложняет процесс разработки ПО для таких устройств. Строго говоря система должна не только знать, что к процессору (SoC) подключен модуль камеры, но и объяснить процессору как с ним нужно работать. Все это хорошо заметно по Android устройствам, где неофициальные прошивки часто добавляют проблемы в работе WiFi или модуля камеры.
И это уже не говоря о самих процессорах, которые вроде бы и придерживаются архитектуры ARM, но все же могут работать не совсем одинаково, и потому перенести ОС c одного процессора на другой может быть действительно сложно. Более того, с огромной вероятностью какой-нибудь новомодный ускоритель чего-нибудь будет работать в вашем устройстве только в том случае, если вы получите у производителя SoC дополнительную лицензию на его активацию, а кроме прочего, еще и компилятор свой перепишите, чтобы он мог все это использовать. Конечно, можно вспомнить про Project Ara от Google, в котором пытаются все-таки сделать мобильное устройство с настолько стандартизированными модулями, чтобы они были легко взаимозаменяемы, но его еще нет на рынке, и я уверен, что с этими устройствами еще будут свои проблемы. Да и до универсальности шин PCI-E и USB там далеко.
Отсюда мы получаем ответ на второй вопрос. Microsoft не обладает данными о всех особенностях устройств всех производителей, чтобы выпустить гарантированно рабочую прошивку для этих устройств. Отсюда же мы имеет ответ и на первый вопрос: даже имея всю необходимую информацию о собственных устройствах, Microsoft требуется достаточно много усилий, чтобы подготовить прошивку для каждого из устройств с учетом его особенностей.
Но и это не все. Есть еще один важный аспект, который замедляет разработку мобильной ОС — универсальность. Для пользователя это огромное благо. Например, одно и то же приложение на PC, планшете, смартфоне. Для программиста также все очень хорошо: большая часть кода сразу работает на всех устройствах. Но это не благо для Microsoft. Выпустив настольную версию Windows 10, компания взвалила на себя огромную ответственность. Оптимизируя версию ОС для мобильных устройств теперь нужно постоянно оглядываться на Большую Windows и проверять не поломалось ли что-то, а если поломалось, искать новое решение проблемы, которое будет одинаково хорошо работать везде. И, поверьте мне, это действительно сложно.
А в итоге хочется добавить только одно. Не нужно злиться на Microsoft из-за того, что сборки появляются редко. И обижаться тоже не надо. То, что они делают сейчас, это титанический труд, оценить сложность которого большинство из нас не может.