Komponen

The Mythical 'Vista Application'

Lionel Richie - All Night Long (All Night)

Lionel Richie - All Night Long (All Night)
Anonim

Saya suka penganalisis. Sama ada meramalkan perkara besar yang akan datang esok atau membunyikan pembunuh maut untuk proses industri semalam, penganalisis tidak pernah kehabisan cara-cara baru untuk membuatnya salah.

Kes keutamaan: Windows Vista dan "app gap." Menurut Evans Data Corporation (EDC) , kurang daripada 10 peratus pemaju menulis untuk keadaan semasa Microsoft seni. Majoriti (49 peratus) masih menulis untuk XP, sementara kecil, tetapi berkembang, kontinjen (13 peratus) berfokus pada Linux. Sementara itu, banyak saluran media utama terus menafikan kekurangan aplikasi Vista baru. "Ia adalah OS yang tiada siapa yang mahu," kata mereka, dan pemaju "bertindak balas sewajarnya."

Sudah tentu, mereka salah. Sekali lagi.

[Bacaan lanjut: Petua, petua dan tweak Windows 10 yang terbaik]

Anda lihat, tidak ada perkara seperti aplikasi Vista. Sama seperti tidak ada perkara seperti aplikasi XP. Atau aplikasi Windows 2000. Pemaju yang menulis untuk Windows jarang menyasarkan versi tertentu. Sebaliknya, mereka memilih rangka kerja API tertentu - contohnya, MFC / ATL atau.Net - dan meneruskan dari sana. Sama ada aplikasi yang dihasilkan berjalan pada versi Windows tertentu bergantung pada apa yang, jika ada, pelanjutan API khusus versi pemaju menggunakan dalam projek mereka.

Bagi majoriti jenis aplikasi, ini adalah nonissue: Mereka menggunakan generik Fungsi API, yang membolehkan mereka menjalankan seluruh versi Windows yang menyokong rangka kerja tersebut. Dan sejak Microsoft melakukan tugas yang baik untuk mengalihkan kerangka baru ke platform OS warisannya, pemaju jarang berhadapan dengan pilihan antara fungsi API yang kaya atau pangkalan yang luas (pengecualian yang ketara adalah pemaju permainan video, yang memanfaatkan DirectX 10 bererti berkomitmen untuk Vista).

Oleh itu hujah keseluruhan aplikasi "Vista jurang" adalah sedikit orang jerami. Soalan sebenar adalah: Kenapa tidak pemaju memanfaatkan pelbagai lelaran kerangka kerja Net?. Oleh kerana sesiapa yang mengikuti peta jalan pembangunan Microsoft akan membuktikan, sebahagian besar evolusi API canggih syarikat sedang berlaku dalam.Net. Sebenarnya, apabila "ahli" bercakap mengenai sumber programatik baru di Vista - Yayasan Pembentangan Windows (WPF), Windows Communication Foundation (WCF), dan sebagainya - mereka benar-benar bercakap tentang kerangka kerja Net. Dan sejak.Net 3.0 boleh didapati di platform peringkat bawah (seperti Windows XP), lingkaran hujah kembali ke persoalan.Net penerimaan di kalangan pemaju - dan mengapa mereka telah (setakat ini) mengelakkannya.

The jawapannya adalah dua kali: Pertama, pemaju tidak suka menargetkan API yang tidak tersedia secara meluas di asas yang dipasang. Walaupun sokongan agresif Microsoft terhadap versi tahap bawah, masih terdapat perbezaan yang besar antara "tersedia" dan "tersedia selepas memuat turun 20MB-plus perpustakaan kompleks dan mempunyai mereka dipasang di pelbagai bahagian sistem anda." Hakikatnya ialah.Net tidak menghantar sebagai sebahagian daripada Windows XP, dan ini bermakna bahawa pemaju perlu meyakinkan pengguna untuk terlebih dahulu memasang versi yang diperlukan dalam rangka. Net sebelum mereka boleh memasang sekeping perisian - tidak sentiasa mudah dijual, terutamanya dalam dunia IT enterprise yang terkunci.

Sebagai OS pertama yang dihantar dengan rangka kerja.Net yang dipasang secara lalai, Vista sepatutnya menggalakkan pembangunan aplikasi.Net 3.0. Walau bagaimanapun, kerana ia juga menyokong legasi Win32, COM, ATL, MFC, dan aplikasi kerangka peringkat rendah. Tidak ada kekurangan sebenar program Vista. Malah, melainkan jika anda hanya mempunyai fungsi rangka kerja WPF / WCF yang terkini dan yang paling besar, ada sedikit untuk memotivasi anda, pemaju untuk membuat lompatan ke.Net 3.0, atau bahkan 2.0. Dengan mengandaikan bahawa anda tidak terlibat dalam mekanisme Kawalan Akaun Pengguna (UAC), aplikasi "warisan" Windows anda mungkin kelihatan dan berfungsi hebat di bawah Vista seperti yang ada. Saya tahu, kerana itu berlaku dengan kod saya sendiri: Beberapa tweak untuk menampung UAC (sebahagian besarnya memindahkan beberapa fail sementara dari struktur direktori yang baru melindungi) dan aplikasi dan perkhidmatan saya berjalan seperti champs di bawah Vista - seperti yang mereka lakukan di bawah Windows XP, Server 2003, dan Windows 2000. Kenapa perlu memperbaikinya apabila ia tidak pecah?

Alasan kedua pemaju telah dijauhi. Bersih adalah bahawa ia perlahan. Banyak fungsi biasa hanya mengambil masa lebih lama di bawah. Bersih, memaksa pemaju memilih antara kecanggihan API dan prestasi mentah. Tidak menghairankan, kebanyakan pemaju memilih yang terakhir, seperti yang saya terpaksa lakukan apabila saya mendapati bahawa. Bersama Bersih Data Pembantu Prestasi (PDH) adalah semua tetapi tidak boleh digunakan untuk persampelan masa nyata data kaunter prestasi Windows. Akibatnya, saya terpaksa mengekalkan asas kod Visual Studio 6 yang menua (sekitar 1997) sambil menunggu Microsoft akhirnya menyelaraskan. Bersambung ke titik di mana ia merupakan alternatif yang berdaya maju.

Bottom Line: Apabila penganalisis (dan rakan-rakan media mereka) menafikan kekurangan "aplikasi Vista", mereka hanya mengetuk kebodohan mereka sendiri.

Saya meneka bahawa ia adalah Perkara Mac: Begitu banyak orang sezaman saya telah terperangkap dalam bidang penyimpangan realiti bahawa idea tentang hubungan antara fungsi API dan versi OS telah menjadi sebahagian daripada kebijaksanaan konvensional. Ia adalah satu kesilapan yang jujur, menyamai keterlaluan versi Apple yang ketinggalan bergantung kepada versi versi kepada Microsoft yang tidak sempurna, tetapi jauh lebih fleksibel, API merapikan.

Terlalu banyak buah akan melakukan itu kepada anda.