Bir native uygulama yazdığın zaman işletim sisteminin kaynaklarına erişebiliyorsun. Bunu donanım kaynakları / yazılım kaynakları olarak düşünebilirsin. Aynı şekilde var olan built-in metodlara, sınıflara erişip onlardan faydalanabiliyorsun. Örnek vermek gerekirse native bir uygulamada telefonun / tabletin sahip olduğu kamera, mikrofon, gesture recognizer gibi input / output kaynaklarını kullanabilirsin. Bunun yanı sıra responsive bir web sayfasında sayfa sana hangi olanakları veriyorsa kullanıcı sadece onlarla yetinmek durumunda. Native uygulama yazabilmen için işletim sisteminin çalıştıracağı dilde yazman gerekiyor. Örneğin iOS platformu için Objective-C dili kullanılıyor.
Gözlemlediğim kadarıyla Native App kavramı mobil web' in gelişmesi ile ortaya çıktı. Masaüstü için yazılmış web sitelerini mobilden görüntülemek zor olduğu için insanlar ya responsive tasarım / mobile layout kullanmaya başladı ya da native uygulamar yazdı. Diğer yandan istersen native bir uygulama yazıp içine web sayfası da koyabilirsin bu da bir başka durum :).