Для разработки веб-приложений на платформах Android и iOS наилучше подходит язык программирования Kotlin, который является официальным языком разработки Android, а также предоставляет возможность использования в iOS проектах через фреймворк Kotlin Multiplatform.
Для разработки онлайн-официанта множество языков программирования могут подойти, но наиболее популярными являются JavaScript и его фреймворк React, Python и его фреймворк Django, или Ruby и его фреймворк Ruby on Rails. Ориентируясь на легкость проектирования и разработки, а также широкое сообщество разработчиков для поддержки, я бы рекомендовал использовать JavaScript и React.
Относительно времени и сложности такого проекта, они могут варьироваться в зависимости от опыта разработчика, требований к функционалу и сложности проекта. Создание онлайн-официанта может быть относительно простым проектом с базовым функционалом, или сложным с расширенными возможностями и интеграцией с другими системами (например, для обработки платежей или управления запасами).
Самые сложные аспекты в изучении данной области программирования могут включать в себя изучение баз данных, понимание контроля версий и управления проектом, а также взаимодействие с API сторонних сервисов. Освоение этих навыков может занять от нескольких месяцев до нескольких лет, в зависимости от интенсивности обучения и уровня предыдущего опыта разработки.