You will see on this website, and please try it, that depending on the device everything moves around or is responsive to the width of the browser window and the natural boundary to this is a small mobile phone. Adjust the width of your browser and you'll see this in action.
This is generally fine for most sites, but a mobile site shouldn't really be bloated with a lot of options which are frankly only suitable on a desktop or perhaps a tablet device. This is where you can, and we might say that you should, consider a separate mobile site as a little sister to your main desktop site.
Another very important reason for having a mobile-only site is that the user experience is completely different. For starters, people are using their fingers and not a mouse, buttons should be bold and easy to tap and most important of all it should be very simple to use. A desktop site may have lots of features which are quite honestly very difficult to manage on a phone. As internet speeds increase and wi-fi more available, load-time on mobile devices becomes less of an issue, but it's worth seeing how your site responds on a 3G network ?
For REAL mobile Apps, not mobile web-sites, we'll use React Native with Android and iOS SDKs, which in English means that you can also have a full App suite to compliment your web infrastructure.
Suffice to say that this is where `normal` traditional web-development begins to look like a lost cousin and more like a Java development project. React-Native is #1 and as of 2018 they are also introducing PWAs [Progressive Web Apps] which is a tech likely to kill off all but the most demanding of Native Apps.
Over the last few years there has been quite a battle as to React Native vs. Ionic and a plethora of HTML/CSS mobile frameworks which then `translate` into real Apps. PhoneGap is probably the major player here. The problem or the issue is these HTML-Hybrid Apps only `sort of` work and in our opinion if you're going to have a real `native` App which uses all the features of your mobile and runs properly on your device then GO NATIVE. Otherwise just stick to a mobile Web Site with jQuery Mobile.
React Native is a Facebook Product, so clearly they use it along with Instagram, but equally so do: Walmart, Bloomberg, Soundcloud, AirBnb, Sykpe, Tesla, Delivery, JD-China and many more. Why ? Because give or take a few percentage points [meaningless in real life] React-Native Apps run as fast as Apps developed with their low-level counterparts [Swift/Java] and they have the touch and feel of real Apps not HTML mobile sites.
React Native has a bad name for styling - not true - and we use an excellent UI framework called NativeBase which extends normal React-Native; naturally we prefer a Google Material Theme.