я мало знаю об iOS, но исходя из опыта Android-разработки осторожнее называл бы это “несложным”. Приложение Android/iOS сперва может напоминать настольную программу на Electron, однако у такого подхода есть немало трудностей, которые в самом начале не очевидны:
-
Размеры экранов и плотность пикселей различаются, поэтому для некоторых компонентов UI понадобятся разные версии под разные дисплеи. Приложение должно определять модель телефона, на котором запущено, и показывать подходящие компоненты UI. (Конечно, у iPhone разброс меньше, чем у Android, но проблема всё равно остаётся).
-
Переключение между альбомной и портретной ориентацией, а также тёмной/светлой темой ещё усложняет правильное отображение GUI.
-
Доступ к различным настройкам и возможностям телефона требует больше работы, чем в настольном приложении. Насколько я понимаю, на iOS это сложнее, чем на Android, и приложению нужно уметь пользоваться iOS API.
-
С публикацией такого приложения в магазине Apple тоже могут возникнуть трудности, причём не только технические.
Короче говоря, сделать это определённо можно, но у малой популярности такого подхода, вероятно, есть причины.
Переведено с английского·Показать оригиналi have limited iOS knowledge, but given my Android development background, I'd be cautious about describing this as “not hard”. An Android/iOS application may seem similar to an Electron desktop program at first, yet there are various difficulties with this approach which are not immediately obvious at the beginning:
-
Screen dimensions and pixel densities differ, which means that some UI components will require alternative versions for the different displays. Your application must identify the handset model it's running on and show the UI components appropriate to it. (Granted, iPhone varies less than Android here, though the issue remains).
-
Moving between landscape and portrait orientations, plus dark/light modes, further complicates rendering the GUI correctly.
-
Using the handset's various settings and capabilities takes additional effort compared with desktop software. From what I understand, iOS makes this harder than Android, and the application needs to understand the iOS API.
-
Getting this kind of application into Apple's store may present difficulties, some beyond purely technical ones.
In short, this can certainly be done, but its lack of popularity probably has explanations.