Aplikasi di appstore bukan biner?

0

Maaf jika judulnya membingungkan, saya tidak tahu bagaimana menjelaskannya dengan lebih baik. Mungkin sebuah contoh akan membantu Anda memahami:

Ketika saya mengunduh file 1GB (contohnya) appstore saya perhatikan bahwa unduhannya cukup cepat, atau saya tidak turun 1GB, aplikasi mendapat 1GB hanya setelah instalasi.

Jadi saya penasaran, aplikasi sebelum menjadi installer adalah:

  • Sumber terkompresi dan dikompilasi dalam instalasi

atau

  • Pra-kompilasi dan terkompresi

Apakah ada di antara ini? Atau itu sesuatu yang lain?

Guilherme Nascimento
sumber
Akan jauh lebih baik jika Anda memberi contoh aktual, nama aplikasi, bukan hanya hipotesis.
user3439894
@ user3439894 Saya tidak tahu bahwa setiap aplikasi memiliki format dan distribusi kompresi yang berbeda.
Guilherme Nascimento
Opsi ketiga, meskipun tidak semua aplikasi memiliki ini, adalah penginstal mendeteksi tipe mesin dan mengunduh konten sekunder pada waktu instalasi. Cara untuk menguji ini adalah mematikan jaringan saat menginstal. Sekali lagi, tidak semua aplikasi melakukan ini, tetapi untuk kelengkapan, ini bisa menjelaskan BEBERAPA instalasi. Sebagian besar aplikasi TIDAK akan melakukan sumber, baik karena Anda ingin mengaburkan pekerjaan Anda, dan juga Anda tidak dapat mengandalkan semua pengguna untuk memiliki XCode.
Rich Homolka

Jawaban:

1

Apple menyimpan aplikasi mereka dalam file ZIP yang pada dasarnya adalah, dengan ekstensi yang berbeda. Anda dapat mengganti ".ipa" pada aplikasi iPhone misalnya dengan ".zip" dan mengekstrak isinya. Jadi ya, mereka memang menggunakan kompresi.

William T Froggard
sumber
Terima kasih :). Mereka dikompilasi pada waktu instalasi? Mengapa ukuran unduhan berbeda dari ukuran aplikasi yang diinstal (biasanya sangat berbeda, sepertinya hampir setengah)?
Guilherme Nascimento
Hmm ... Kamu benar. Saya belum memperhatikan itu sampai sekarang. Itu sangat aneh. Ukuran itu tidak terlalu membantu jika itu menunjukkan kepada kita setengah dari apa yang akan dihasilkan oleh aplikasi ... Aplikasi tidak dikompilasi dari sumber, namun disimpan sebagai bundel aplikasi terkompresi dan didistribusikan dalam bentuk itu.
William T Froggard
Saya melakukan pengunduhan dari iTunes daripada iPhone, pengunduhannya cepat, sepertinya bukan ukuran perubahan yang pasti ada hal lain yang membuat pengunduhan jadi cepat, terima kasih lagi.
Guilherme Nascimento
1
@GuilhermeNascimento "kompilasi pada waktu instalasi" tidak menjelaskan aplikasi iOS atau MacOSX, tapi saya pikir menginstal OS Android baru melakukan ini. Ambil kode byte mesin agnostik, jalankan melalui kompiler java (err, darvik) pada perangkat untuk instruksi asli. Ini akan mengubah ukuran unduhan vs instal. Sekali lagi, baik iOS maupun MacOSX tidak melakukan ini.
Rich Homolka
1
@GuilhermeNascimento Perangkat iOS mungkin memiliki CPU 32 bit atau 64 bit berbasis ARM, CPU yang dirancang Apple. Meskipun kode 32 bit dapat berjalan di 64 bit, kode 64 bit tidak akan berjalan di mesin 32 bit. Saya pikir Anda dapat memiliki "biner universal" iOS dengan bagian kode untuk CPU 32 dan 64 bit - ini adalah apa yang dilakukan Apple ketika beralih dari Motorola 68K ke PowerPC. Apple juga baru saja mengumumkan di iOS9 untuk memangkas data dan kode yang tidak digunakan dari binari, sehingga Anda akan menghemat ruang pada perangkat.
Rich Homolka