How Web and Desktop Apps Work Differently: A Complete Guide