Many applications (IntelliJ IDEA, PyCharm, Android Studio, etc) are available as a tar.gz or tar.xz files. They do not need to be installed. You just need to extract the archive file and run the application. On the other hand there are AppImages. By running an AppImage, the AppImage is temporally mounted on \tmp directory and then is executed. You can also extract the AppImage like any archive file and run the application. So my question is what is the difference between an AppImage and an archive file?
1 Answer
In the sense of "application stuff getting unpacked and run", they are indeed similar. However, in case of .tar.gz archives, you have to do that manually - select a place to unpack, find the inner executable, run it, use the program, and then remove if necessary. With an AppImage, a directory in /tmp (which is often mounted in RAM) is made and chosen, then the appropriate file is ran, and then cleaned up after the AppImage application is closed.
AppImage also includes a prompt to integrate the application with your system, which can be handy for various users.
More importantly - a .tar.gz file can be anything its creator has decided it to be - maybe it's just one executable that relies on you having all the dependencies and right versions of those dependencies, maybe it needs to be extracted at a specific location, maybe it needs further setup than unpacking to work. Maybe it actually is just a bunch of source files you have to compile!
Meanwhile, an AppImage, by the official site's definition, is a "Linux app that runs anywhere". To be a proper AppImage, the application needs to be self-sufficiently packed with the right dependencies in place, and runnable on most Linux distros without requiring further setup.
That's the least I can think of. A lot of this can be a matter of preference of course. Maybe to you all of that is indeed of no difference. But it does make a difference to various people, including its authors and users, so there's that.