(言語はなんでもいいから)初心者向けプログラミングの本や教材を一通りやって、
コンピュータ科学とデータ構造設計とアルゴリズムについて学んでください。
ここを疎かにすると、次のステップで確実にコケます。
次に今どきのwebサービスがどういう仕組や技術で作られているかにアンテナを張ります。
フロントエンドとバックエンド、
フロントエンドをネイティブアプリでやるのか、webアプリでやるのか、
バックエンドはデータベース(RDBMS)とサーバーサイド言語、それらを統合するフレームワーク。
サーバーそのものの構築や設定についても。
ネイティブアプリでやるなら、おっしゃるとおりXcodeでSwiftで作っていけるかもしれませんが、
それだとiOS向けしか作れません。
Androidも視野に入れるなら、クロス開発プラットフォームを選択する必要も出てきます。
web技術でフロントエンドをやると例えばNode.jsをベースにした様々なものがあります。
あるいは、Xamarinとか。
バックエンドのデータベースはmysql/mariadbやpostgresqlなど。
サーバーサイド言語は色々あって、Node.jsでやってもいいしphpでもrubyでもpythonでもperlでも。
フレームワークとしてLaravelとかRailsとかこれもいろいろ。
コンピュータ科学とデータ構造設計とアルゴリズムの基本的なところをやっておくと、
あとプログラミング言語は似たりよったりなので、
なにか一つ軸になる言語を覚えておけば、他の言語は差分(考え方や構造の差異)を吸収する感じになります。
言語が変わってもアルゴリズムは変わりません。
データの並べ替え一つとっても、アルゴリズムを押さえておけばすぐプログラミングできるはずです。