Itu sangat tergantung pada konteksnya. Bagi saya, "asli" berarti aplikasi menggunakan fitur dan mekanisme yang disediakan sistem operasi, daripada menggulirkannya sendiri. Itu dapat berlaku untuk fitur antarmuka pengguna (tombol, jendela, dialog pemilih file), serta fitur di bawah tenda (mis integrasi dengan "Buka dengan ...").
Misalnya, pada Windows, aplikasi asli akan menggunakan "WinAPI" untuk mendapatkan tombol, scrollbars, dll yang sama seperti aplikasi lain. Mereka berperilaku persis sama di aplikasi sistem (notepad) seperti di aplikasi pihak ketiga asli.
Aplikasi Java sering menggunakan "Swing" dan terlihat sangat berbeda, karena mereka menggambar kontrol mereka sendiri, daripada menggunakan yang sistem. Manfaatnya adalah bahwa program terlihat sama di setiap OS.
Opsi lain untuk membangun GUI adalah toolkit lintas platform seperti "QT". QT akan meminta OS untuk menggambar kontrol untuk itu, sehingga mereka harus terlihat sangat asli, tidak peduli apakah Anda menjalankan Windows, OSX, atau Linux. Sebuah kotak teks QT akan terlihat seperti kotak teks windows, namun itu bukan yang asli, tetapi semacam emulasi. Anda mungkin melihat perbedaan kecil dalam detail (misalnya menu konteks, metode input, dll.).
Catatan ketika orang mengatakan "asli", mereka sering berarti program dikompilasi ke kode mesin daripada kode perantara, yang dijalankan di mesin virtual (seperti program Java dan .NET). Dalam contoh di atas, aplikasi WinAPI dan QT menggunakan kode mesin, sedangkan program Java dikompilasi ke bytecode Java. Penggunaan ini agak bermasalah saat ini, karena banyak pengguna akan mempertimbangkan aplikasi asli .NET untuk Windows - itu hanya sebuah .exe, menggunakan kontrol dan API yang persis sama di bawah tenda, dan hampir tidak dapat dibedakan dari program yang dikompilasi untuk kode mesin.
Demikian juga, saya akan mempertimbangkan program yang menggunakan GTK, tahu tentang struktur sistem file Unix dan mungkin datang dalam paket .deb asli untuk Ubuntu atau Gnome. Bahkan ada aplikasi Gnome pihak pertama yang ditulis dalam javascript yang bisa disebut orang asli! Hal yang sama berlaku untuk aplikasi Windows 8 "Metro", yang dapat ditulis dalam berbagai bahasa, beberapa dikompilasi, beberapa tidak.