Pengembangan aplikasi untuk Windows sebagai layanan

Berlaku untuk

  • Windows 11
  • Windows 10
  • Windows 10 Mobile
  • Windows 10 IoT Core

Dalam lingkungan saat ini, di mana harapan pengguna sering ditetapkan oleh pengalaman perangkat-sentris, siklus produk lengkap perlu diukur dalam bulan, bukan tahun. Selain itu, rilis baru harus tersedia secara terus-menerus, dan harus dapat disebarkan dengan dampak minimal pada pengguna. Microsoft merancang Windows 10 untuk memenuhi persyaratan ini dengan menerapkan pendekatan baru untuk inovasi, pengembangan, dan pengiriman yang disebut Windows sebagai layanan (WaaS). Kunci untuk memungkinkan siklus produk yang jauh lebih pendek sambil mempertahankan tingkat kualitas tinggi adalah pendekatan inovatif yang berpusat pada komunitas untuk pengujian yang telah diterapkan Microsoft selama Windows 10. Komunitas, yang dikenal sebagai Windows Insiders, terdiri dari jutaan pengguna di seluruh dunia. Ketika orang dalam Windows ikut serta dalam komunitas, mereka menguji banyak build selama siklus produk dan memberikan umpan balik kepada Microsoft melalui metodologi berulang yang disebut flighting.

Build didistribusikan sebagai penerbangan memberikan tim teknik Windows dengan data yang signifikan mengenai seberapa baik kinerja bangunan dalam penggunaan yang sebenarnya. Penerbangan dengan Windows Insiders juga memungkinkan Microsoft untuk menguji build di lingkungan perangkat keras, aplikasi, dan jaringan yang jauh lebih beragam daripada di masa lalu, dan untuk mengidentifikasi masalah jauh lebih cepat. Akibatnya, Microsoft percaya bahwa penerbangan yang berfokus pada komunitas akan memungkinkan kecepatan pengiriman inovasi yang lebih cepat dan kualitas rilis publik yang lebih baik dari sebelumnya.

Windows 10 jenis dan irama rilis

Meskipun Microsoft merilis penerbangan yang dibangun untuk Windows Insiders, Microsoft akan mempublikasikan dua jenis rilis Windows 10 secara luas kepada publik secara berkelanjutan:

Pembaruan fitur menginstal fitur, pengalaman, dan kemampuan baru terbaru pada perangkat yang sudah berjalan Windows 10. Karena pembaruan fitur berisi seluruh salinan Windows, mereka juga yang digunakan pelanggan untuk menginstal Windows 10 pada perangkat yang ada yang berjalan Windows 7 atau Windows 8.1, dan pada perangkat baru di mana tidak ada sistem operasi yang diinstal. Microsoft mengharapkan untuk mempublikasikan pembaruan semi-tahunan.

Pembaruan kualitas memberikan resolusi masalah keamanan dan perbaikan bug penting lainnya. Pembaruan kualitas akan diberikan untuk meningkatkan setiap fitur yang saat ini mendukung, pada irama satu atau lebih kali per bulan. Microsoft akan terus menerbitkan pembaruan kualitas pada Update Tuesday (kadang-kadang disebut sebagai Patch Tuesday). Selain itu, Microsoft dapat mempublikasikan pembaruan kualitas tambahan untuk Windows 10 di luar proses Update Tuesday bila diperlukan untuk memenuhi kebutuhan pelanggan.

Selama pengembangan Windows 10, Microsoft merampingkan siklus rekayasa dan rilis produk Windows sehingga kami dapat memberikan fitur, pengalaman, dan fungsionalitas yang diinginkan pelanggan, lebih cepat dari sebelumnya. Kami juga menciptakan cara-cara baru untuk memberikan dan menginstal pembaruan fitur dan pembaruan kualitas yang menyederhanakan penyebaran dan manajemen yang sedang berlangsung, memperluas basis karyawan yang dapat tetap terkini dengan kemampuan dan pengalaman Windows terbaru, dan menurunkan total biaya kepemilikan. Oleh karena itu kami telah menerapkan opsi servis baru - disebut sebagai Semi-Annual Channel, dan Long-Term Servicing Channel (LTSC) - yang memberikan solusi pragmatis untuk menjaga lebih banyak perangkat lebih terkini di lingkungan perusahaan daripada sebelumnya.

Tabel berikut menunjukkan menjelaskan berbagai saluran servis dan atribut utamanya.

Opsi servis Ketersediaan peningkatan fitur baru untuk instalasi Servis seumur hidup Manfaat utama Edisi yang didukung
Saluran Semi-Annual (Ditargetkan) Segera setelah pertama kali diterbitkan oleh Microsoft 18 bulan Membuat fitur baru tersedia untuk pengguna sesegera mungkin Beranda, Pro, Pendidikan, Perusahaan, Seluler, Inti IoT, Windows 10 IoT Core Pro (Pro Inti IoT)
Saluran Semi-Tahunan Sekitar 4 bulan setelah pertama kali diterbitkan oleh Microsoft 18 bulan sejak pertama kali diterbitkan Memberikan waktu tambahan untuk menguji peningkatan fitur baru sebelum penyebaran Pro, Pendidikan, Perusahaan, Perusahaan Seluler, Pro Inti IoT
Saluran Servis Long-Term (LTSC) Segera setelah dipublikasikan oleh Microsoft 10 Tahun Memungkinkan penyebaran jangka panjang dari rilis Windows 10 yang dipilih dalam konfigurasi perubahan rendah Ltsb Perusahaan

Untuk informasi selengkapnya, lihat opsi servis Windows 10 untuk pembaruan dan peningkatan.

Mendukung aplikasi di Windows sebagai layanan

Pendekatan tradisional untuk mendukung aplikasi adalah merilis versi aplikasi baru sebagai tanggapan atas rilis Windows. Ini mengasumsikan bahwa ada perubahan yang melanggar dalam OS yang mendasarinya yang berpotensi menyebabkan regresi dengan aplikasi. Model ini melibatkan siklus pengembangan dan validasi khusus yang mengharuskan mitra ISV kami untuk menyelaraskan dengan irama rilis Windows.

Dalam Windows sebagai model layanan, Microsoft membuat komitmen untuk menjaga kompatibilitas OS yang mendasarinya. Ini berarti Microsoft akan melakukan upaya bersama untuk memastikan bahwa tidak ada perubahan yang berdampak negatif pada ekosistem aplikasi. Dalam skenario ini, ketika ada rilis build Windows, sebagian besar aplikasi (yang tidak memiliki dependensi kernel) akan terus berfungsi.

Mengingat perubahan ini, Microsoft merekomendasikan agar mitra ISV kami memisahkan rilis aplikasi mereka dan dukungan dari Windows tertentu. Pelanggan bersama kami dilayani dengan lebih baik oleh pendekatan siklus hidup aplikasi. Ini berarti ketika versi aplikasi dirilis, itu akan didukung untuk jangka waktu tertentu terlepas dari berapa banyak Windows yang dirilis untuk sementara. ISV membuat komitmen untuk memberikan dukungan untuk versi aplikasi tertentu selama didukung dalam siklus hidup. Microsoft mengikuti pendekatan siklus hidup serupa untuk Windows yang dapat dirujuk di sini.

Pendekatan ini akan mengurangi beban mempertahankan jadwal aplikasi yang selaras dengan rilis Windows. Mitra ISV harus bebas merilis fitur atau pembaruan dengan irama mereka sendiri. Kami merasa bahwa mitra kami dapat menjaga basis pelanggan mereka diperbarui dengan pembaruan aplikasi terbaru terlepas dari rilis Windows. Selain itu, pelanggan kami tidak perlu mencari pernyataan dukungan eksplisit setiap kali Windows bangun dirilis. Berikut adalah contoh pernyataan dukungan yang mencakup bagaimana aplikasi dapat didukung di berbagai versi OS:

Contoh pernyataan dukungan siklus hidup aplikasi

Contoso adalah perusahaan pengembangan perangkat lunak dan merupakan pemilik aplikasi Mojave populer yang memiliki pangsa besar di ruang perusahaan. Contoso merilis rilis besar berikutnya Mojave 14.0 dan menyatakan dukungan utama untuk jangka waktu tiga tahun dari tanggal rilis. Selama dukungan utama, semua pembaruan dan dukungan gratis untuk produk berlisensi. Contoso juga menyatakan tambahan dua tahun dukungan diperpanjang di mana pelanggan dapat membeli pembaruan dan dukungan untuk masa tenggang. Di luar tanggal akhir dukungan yang diperpanjang, versi produk ini tidak lagi didukung. Selama periode dukungan arus utama Contoso akan mendukung Mojave 14.0 pada semua build Windows yang dirilis. Contoso juga akan merilis pembaruan untuk Mojave seperlunya dan independen dari rilis produk Windows.

Di bagian berikut, Anda akan menemukan informasi tambahan tentang langkah-langkah yang diambil Microsoft untuk menjaga kompatibilitas OS yang mendasarinya. Anda juga akan menemukan panduan tentang langkah-langkah yang dapat Anda ambil untuk membantu menjaga kompatibilitas gabungan OS dan ekosistem aplikasi. Ada bagian tentang cara memanfaatkan Windows membangun penerbangan untuk mendeteksi regresi aplikasi sebelum build Windows dirilis. Terakhir, kami menjelaskan bagaimana kami menggunakan instrumentasi dan pendekatan berbasis telemetri untuk meningkatkan kualitas Windows build. Kami merekomendasikan ISV mengadopsi pendekatan serupa dengan portofolio aplikasi mereka.

Perubahan utama sejak Windows 7 untuk memastikan kompatibilitas aplikasi

Kami memahami bahwa kompatibilitas penting bagi pengembang. ISV dan pengembang ingin memastikan aplikasi mereka akan berjalan seperti yang diharapkan pada semua versi yang didukung dari OS Windows. Konsumen dan bisnis memiliki investasi utama di sini — mereka ingin memastikan bahwa aplikasi yang telah mereka bayar akan terus berfungsi. Kami tahu bahwa kompatibilitas adalah kriteria utama untuk keputusan pembelian. Aplikasi yang ditulis dengan baik berdasarkan praktik terbaik akan menghasilkan lebih sedikit churn kode ketika versi Windows baru dirilis dan akan mengurangi fragmentasi — aplikasi ini memiliki investasi teknik yang berkurang untuk dipertahankan, dan waktu yang lebih cepat ke pasar.

Dalam jangka waktu 7 Windows, kompatibilitas sangat banyak pendekatan reaktif. Dalam Windows 8, kami mulai melihat ini secara berbeda, bekerja dalam Windows untuk memastikan bahwa kompatibilitas adalah dengan desain daripada renungan. Windows 10 adalah versi OS yang paling kompatibel dengan desain hingga saat ini. Berikut adalah beberapa cara utama kami mencapai hal ini:

  • Telemetri aplikasi: Ini membantu kami memahami popularitas aplikasi di ekosistem Windows untuk menginformasikan pengujian kompatibilitas.
  • Kemitraan ISV: Bekerja secara langsung dengan mitra eksternal untuk memberi mereka data dan membantu memperbaiki masalah yang dialami pengguna kami.
  • Ulasan desain, deteksi hulu: Bermitra dengan tim fitur untuk mengurangi jumlah perubahan yang melanggar dalam Windows. Tinjauan kompatibilitas adalah gerbang yang harus dilewati oleh tim fitur kami.
  • Komunikasi: Kontrol yang lebih ketat atas perubahan API dan peningkatan komunikasi.
  • Flighting dan umpan balik: Windows orang dalam menerima build penerbangan yang membantu meningkatkan kemampuan kami untuk menemukan masalah kompatibilitas sebelum build akhir dirilis ke pelanggan. Proses umpan balik ini tidak hanya mengekspos bug, tetapi memastikan kami mengirimkan fitur yang diinginkan pengguna kami.

Praktik terbaik untuk kompatibilitas aplikasi

Microsoft menggunakan data diagnostik dan penggunaan untuk mengidentifikasi dan memecahkan masalah, meningkatkan produk dan layanan kami, dan memberi pengguna kami pengalaman yang dipersonalisasi. Data penggunaan yang kami kumpulkan juga meluas ke aplikasi yang dijalankan PC di ekosistem Windows. Berdasarkan apa yang digunakan pelanggan kami, kami membuat daftar kami untuk menguji aplikasi, perangkat, dan driver ini terhadap versi baru os Windows. Windows 10 telah menjadi versi Windows yang paling kompatibel hingga saat ini, dengan kompatibilitas lebih dari 90% terhadap ribuan aplikasi populer. Tim Kompatibilitas Windows biasanya menjangkau mitra ISV kami untuk memberikan umpan balik jika masalah ditemukan, sehingga kami dapat bermitra bersama dalam solusi. Idealnya, kami ingin pelanggan umum kami dapat memperbarui Windows dengan mulus dan tanpa kehilangan fungsionalitas baik di OS atau aplikasi yang mereka andalkan untuk produktivitas atau hiburan mereka.

Bagian berikut berisi beberapa praktik terbaik yang direkomendasikan Microsoft sehingga Anda dapat memastikan aplikasi Anda kompatibel dengan Windows 10.

pemeriksaan versi Windows

Versi OS telah ditingkatkan dengan Windows 10. Ini berarti bahwa nomor versi internal telah diubah menjadi 10.0. Seperti di masa lalu, kami berusaha keras untuk mempertahankan kompatibilitas aplikasi dan perangkat setelah perubahan versi OS. Untuk sebagian besar kategori aplikasi (tanpa dependensi kernel), perubahan tidak akan berdampak negatif terhadap fungsionalitas aplikasi, dan aplikasi yang ada akan terus berfungsi dengan baik di Windows 10.

Manifestasi dari perubahan ini khusus aplikasi. Ini berarti aplikasi apa pun yang secara khusus memeriksa versi OS akan mendapatkan nomor versi yang lebih tinggi, yang dapat menyebabkan satu atau lebih situasi berikut:

  • Penginstal aplikasi mungkin tidak dapat menginstal aplikasi, dan aplikasi mungkin tidak dapat dimulai.
  • Aplikasi mungkin menjadi tidak stabil atau macet.
  • Aplikasi mungkin menghasilkan pesan kesalahan, tetapi terus berfungsi dengan baik.

Beberapa aplikasi melakukan pemeriksaan versi dan hanya memberikan peringatan kepada pengguna. Namun, ada aplikasi yang terikat sangat erat dengan pemeriksaan versi (di driver, atau dalam mode kernel untuk menghindari deteksi). Dalam kasus ini, aplikasi akan gagal jika versi yang salah ditemukan. Daripada pemeriksaan versi, kami merekomendasikan salah satu pendekatan berikut:

  • Jika aplikasi bergantung pada fungsionalitas API tertentu, pastikan Anda menargetkan versi API yang benar.
  • Pastikan Anda mendeteksi perubahan melalui APISet atau API publik lainnya, dan jangan gunakan versi sebagai proxy untuk beberapa fitur atau perbaikan. Jika ada perubahan yang melanggar dan pemeriksaan yang tepat tidak terungkap, maka itu adalah bug.
  • Pastikan aplikasi TIDAK memeriksa versi dengan cara yang aneh, seperti melalui registri, versi file, offset, mode kernel, driver, atau cara lain. Jika aplikasi benar-benar perlu memeriksa versi, gunakan API GetVersion, yang harus mengembalikan nomor utama, minor, dan build.
  • Jika Anda menggunakan API GetVersion, ingatlah bahwa perilaku API ini telah berubah sejak Windows 8.1.

Jika Anda memiliki aplikasi seperti aplikasi antimalware atau firewall, Anda harus bekerja melalui saluran umpan balik biasa Anda dan melalui program Windows Insider.

API tidak berdokumen

Aplikasi Anda tidak boleh memanggil API Windows tidak terdokumentasi, atau mengambil ketergantungan pada ekspor file Windows tertentu atau kunci registri. Hal ini dapat menyebabkan fungsionalitas rusak, kehilangan data, dan potensi masalah keamanan. Jika ada fungsionalitas yang dibutuhkan aplikasi Anda yang tidak tersedia, ini adalah kesempatan untuk memberikan umpan balik melalui saluran umpan balik Anda yang biasa dan melalui program Windows Insider.

Mengembangkan aplikasi Universal Windows Platform (UWP) dan Centennial

Kami mendorong semua APLIKASI Win32 untuk mengembangkan Universal Windows Platform (UWP) dan, khususnya, aplikasi Centennial bergerak maju. Ada manfaat besar untuk mengembangkan paket aplikasi ini daripada menggunakan installer Win32 tradisional. Aplikasi UWP juga didukung di Microsoft Store, sehingga lebih mudah bagi Anda untuk memperbarui pengguna Anda ke versi yang konsisten secara otomatis, menurunkan biaya dukungan Anda.

Jika jenis aplikasi Win32 Anda tidak berfungsi dengan model Centennial, kami sangat menyarankan Anda menggunakan penginstal yang tepat dan memastikan ini sepenuhnya diuji. Penginstal adalah pengalaman pertama pengguna atau pelanggan Anda dengan aplikasi Anda, jadi pastikan ini berfungsi dengan baik. Terlalu sering, ini tidak bekerja dengan baik atau belum sepenuhnya diuji untuk semua skenario. Kit Sertifikasi Aplikasi Windows dapat membantu Anda menguji penginstalan dan penghapusan instalasi aplikasi Win32 Anda dan membantu Anda mengidentifikasi penggunaan API yang tidak terdokumentasi, serta masalah praktik terbaik terkait kinerja dasar lainnya, sebelum pengguna Anda melakukannya.

Praktik terbaik:

  • Gunakan penginstal yang berfungsi untuk versi Windows 32-bit dan 64-bit.
  • Rancang penginstal Anda untuk berjalan pada beberapa skenario (tingkat pengguna atau mesin).
  • Simpan semua Windows redistribusi dalam kemasan asli – jika Anda mengemas ulang ini, ada kemungkinan bahwa ini akan merusak penginstal.
  • Jadwalkan waktu pengembangan untuk penginstal Anda— ini sering diabaikan sebagai kiriman selama siklus hidup pengembangan perangkat lunak.

Strategi pengujian dan penerbangan yang dioptimalkan

Windows OS flighting mengacu pada build sementara yang tersedia untuk Windows Insiders sebelum build akhir dirilis ke populasi umum. Semakin banyak Orang Dalam yang melakukan penerbangan ke build sementara ini, semakin banyak umpan balik yang kami terima tentang kualitas build, kompatibilitas, dll., Dan ini membantu meningkatkan kualitas build akhir. Anda dapat berpartisipasi dalam program penerbangan ini untuk memastikan bahwa aplikasi Anda berfungsi seperti yang diharapkan pada build OS yang berulang. Kami juga mendorong Anda untuk memberikan umpan balik tentang bagaimana build yang terbang ini bekerja untuk Anda, masalah yang Anda hadapi, dan sebagainya.

Jika aplikasi Anda ada di Toko, Anda dapat mengizinkan aplikasi Anda melalui Toko, yang berarti aplikasi Anda akan tersedia untuk diakses oleh populasi Windows Insider kami. Pengguna dapat menginstal aplikasi Anda dan Anda dapat menerima umpan balik awal pada aplikasi Anda sebelum Anda merilisnya ke populasi umum. Bagian berikut menguraikan langkah-langkah untuk menguji aplikasi Anda terhadap Windows build yang penerbangan.

Langkah 1: Menjadi Windows Insider dan berpartisipasi dalam penerbangan

Sebagai Windows Insider, Anda dapat membantu membentuk masa depan Windows—umpan balik Anda akan membantu kami meningkatkan fitur dan fungsionalitas di platform. Ini adalah komunitas yang dinamis di mana Anda dapat terhubung dengan penggemar lain, bergabung dengan forum, saran perdagangan, dan belajar tentang acara Insider-only yang akan datang.

Karena Anda akan memiliki akses ke pembuatan pratinjau Windows 10, Windows 10 Mobile, dan SDK dan Emulator Windows terbaru, Anda akan memiliki semua alat yang Anda inginkan untuk mengembangkan aplikasi hebat dan menjelajahi apa yang baru di Universal Windows Platform dan Microsoft Store.

Ini juga merupakan peluang besar untuk membangun perangkat keras yang hebat, dengan pembuatan pratinjau kit pengembangan perangkat keras sehingga Anda dapat mengembangkan driver universal untuk Windows. IoT Core Insider Preview juga tersedia di papan pengembangan IoT yang didukung, sehingga Anda dapat membangun solusi terhubung yang luar biasa menggunakan Universal Windows Platform.

Sebelum Anda menjadi Windows Insider, harap dicatat bahwa partisipasi ditujukan untuk pengguna yang:

  • Ingin mencoba perangkat lunak yang masih dalam pengembangan.
  • Ingin berbagi umpan balik tentang perangkat lunak dan platform.
  • Jangan pedulikan banyak pembaruan atau desain UI yang mungkin berubah secara signifikan dari waktu ke waktu.
  • Benar-benar tahu jalan mereka di sekitar PC dan merasa nyaman memecahkan masalah, mencadangkan data, memformat hard drive, menginstal sistem operasi dari awal, atau memulihkan yang lama jika perlu.
  • Ketahui apa itu file ISO dan cara menggunakannya.
  • Tidak menginstalnya di komputer atau perangkat sehari-hari mereka.

Langkah 2: Uji skenario Anda

Setelah Anda memperbarui ke build yang penerbangan, berikut ini adalah beberapa kasus uji sampel untuk membantu Anda memulai pengujian dan mengumpulkan umpan balik. Untuk sebagian besar pengujian ini, pastikan Anda mencakup sistem x86 dan AMD64. Uji instalasi bersih: Pada instalasi Windows 10 yang bersih, pastikan aplikasi Anda berfungsi penuh. Jika aplikasi Anda gagal dalam pengujian ini dan pengujian peningkatan, kemungkinan masalah tersebut disebabkan oleh perubahan atau bug OS yang mendasarinya di aplikasi. Jika setelah diselidiki, yang pertama adalah kasusnya, pastikan untuk menggunakan program Windows Insider untuk memberikan umpan balik dan bermitra tentang solusi.

Uji Peningkatan: Periksa apakah aplikasi Anda berfungsi setelah memutakhirkan dari versi Windows tingkat bawah (yaitu Windows 7 atau Windows 8.1) ke Windows 10. Aplikasi Anda tidak boleh menyebabkan kemunduran selama peningkatan, dan harus terus berfungsi seperti yang diharapkan setelah peningkatan—ini sangat penting untuk mencapai pengalaman peningkatan yang mulus.

Uji Instal ulang: Pastikan fungsionalitas aplikasi dapat dipulihkan dengan menginstal ulang aplikasi Anda setelah Anda meningkatkan PC ke Windows 10 dari OS tingkat bawah. Jika aplikasi Anda tidak lulus uji peningkatan dan Anda belum dapat mempersempit penyebab masalah ini, ada kemungkinan penginstalan ulang dapat memulihkan fungsionalitas yang hilang. Tes penginstalan ulang yang lulus menunjukkan bahwa bagian-bagian aplikasi mungkin tidak dimigrasikan ke Windows 10.

Uji Fitur OS\Perangkat: Pastikan aplikasi Anda berfungsi seperti yang diharapkan jika aplikasi Anda bergantung pada fungsionalitas tertentu di OS. Area umum untuk pengujian termasuk yang berikut, seringkali terhadap pilihan model PC yang umum digunakan untuk memastikan cakupan:

  • Audio
  • Fungsionalitas perangkat USB (keyboard, mouse, memory stick, hard disk eksternal, dan sebagainya)
  • Bluetooth
  • Graphics\display (multi-monitor, proyeksi, rotasi layar, dan sebagainya)
  • Layar sentuh (orientasi, keyboard di layar, pena, gerakan, dan sebagainya)
  • Touchpad (tombol kiri\kanan, ketuk, gulir, dan sebagainya)
  • Pena (ketuk satu\double, tekan, tahan, penghapus, dan sebagainya)
  • Cetak\Pindai
  • Sensor (akselerometer, fusi, dan sebagainya)
  • Kamera

Langkah 3: Berikan umpan balik

Beri tahu kami bagaimana kinerja aplikasi Anda terhadap build yang penerbangan. Saat Anda menemukan masalah dengan aplikasi Anda selama pengujian, silakan log bug melalui portal mitra jika Anda memiliki akses, atau melalui perwakilan Microsoft Anda. Kami mendorong informasi ini sehingga kami dapat membangun pengalaman berkualitas bagi pengguna kami bersama-sama.

Windows 10 opsi servis untuk pembaruan dan peningkatan