Недостатком этого подхода является то, что конечному пользователю необходимо запустить два процесса - веб-сервер и веб-браузер. Вы можете ограничить воздействие, заставив ваше приложение выполнять оба действия, но тогда использование может закончиться двумя окнами браузера вместо одного, если ваше приложение не достаточно умен, чтобы открывать новую вкладку в существующем браузере вместо запуска нового.
Это только верхушка айсберга. Прежде чем идти по этому пути, вы должны рассмотреть влияние вашего решения на конечного пользователя. Похоже, вашей главной целью является межплатформенная поддержка, а не высококачественный пользовательский интерфейс. Что для вас важнее?
Возможно, веб-интерфейс лучше подойдет для ваших пользователей, или он может лучше обслуживаться более традиционным инструментарием с графическим интерфейсом. Существует множество кроссплатформенных наборов инструментов с графическим интерфейсом, которые позволят вам предоставить пользователям богатый опыт без особых усилий (например, Tk с python, ruby или Tcl).
Некоторые могут сказать, что наборы инструментов, такие как Tk, wx и т. Д., Должны идти на компромиссы, чтобы быть кроссплатформенными, но я думаю, что они обеспечивают гораздо меньше компромиссов, чем вы должны принять при создании веб-интерфейса.
Конечно, вы также должны учитывать время выхода на рынок, свои собственные навыки и т. Д. При принятии этого решения. Просто помните, что в конце дня программное обеспечение должно облегчить задачу для конечного пользователя, поэтому спросите себя, поддерживает ли это ваш выбор.