Ulasan produk: Visual Studio 2008 maju dengan sedikit kesalahan langkah

Microsoft Visual Studio 2008 (VS08) adalah inkarnasi dari garis panjang IDE perusahaan. Ini adalah IDE utama untuk mengembangkan aplikasi dengan Microsoft .Net Framework dan, setidaknya, pesaing untuk C / C ++ IDE terbaik yang dihosting Windows. Tentu saja, Visual Studio 2008 tidak terbatas pada pengembangan aplikasi desktop; itu juga bagus untuk mengembangkan aplikasi Web, SOA, dan perangkat. Rilis ini memperkenalkan dukungan untuk .Net Framework 3.5, dan juga mendukung versi .Net Framework lainnya. Ini juga memperkenalkan Kueri Terpadu Bahasa, cara umum untuk meminta semua jenis data di C # dan Visual Basic, dan dukungan penuh untuk Windows Vista, Silverlight, dan Windows Presentation Foundation.

VS08 hadir dalam berbagai edisi, dari Edisi Ekspres gratis hingga $ 10.000 untuk segalanya Visual Studio Team System 2008 Team Suite. Pada dasarnya, edisi Ekspres adalah untuk pemula, pelajar, dan pengembang hobi; Edisi Standar adalah untuk pengembang individu; Edisi Profesional adalah untuk pengembang tingkat lanjut dan mereka yang bekerja dalam tim kecil.

Sistem Tim terutama untuk tim yang lebih besar. Ada klien Sistem Tim untuk pengembang, arsitek, DBA, dan penguji, serta klien gabungan untuk semua peran yang disebut Team Suite. Server untuk Sistem Tim adalah Team Foundation Server (TFS), yang menggabungkan portal tim, kontrol versi, pelacakan item kerja, manajemen build, panduan proses, dan kecerdasan bisnis.

Dalam ulasan ini, saya akan berkonsentrasi pada fitur VS08 Professional Edition, dan menyentuh beberapa hal penting dari Team Suite. Saya tidak akan mencoba membahas Team Foundation Server seperti itu, meskipun telah menerima banyak peningkatan, seperti sistem membangun tim baru dan akses Web, sejak terakhir kali kami memeriksanya (lihat pratinjau Visual Studio 2005 Tom Yager Mei 2004).

Instalasi dan pengujian

Saya telah menulis blog panjang lebar (di sini dan di sini) tentang uji coba saya dan perjalanan menginstal Team Suite. Tak satu pun dari itu akan mempengaruhi Anda, kecuali Anda mencoba untuk menghapus VS08 dari mesin yang juga memiliki VS05; namun, membuat cadangan gambar dari sistem Anda sebelum Anda memulai instalasi mungkin bijaksana. Harapkan instalasi VS08 memakan waktu beberapa jam, dengan satu intervensi manual diperlukan untuk memulai langkah instalasi dokumentasi.

Saya menjalankan VS08 Team Suite di desktop XP saya hampir sepanjang hari, lima hari seminggu selama beberapa minggu, dan mencoba menggunakannya untuk semua pekerjaan pengembangan saya. Saya juga menjalankan sejumlah skenario pengembangan individu dengan Edisi Profesional di laptop Vista, dan mensimulasikan beberapa skenario pengembangan grup pada PC virtual Team Suite / TFS. Satu peringatan: Jika Anda menginstal pada Windows Vista dengan User Account Control (UAC) diaktifkan, bersiaplah untuk menjalankan VS08 sebagai Administrator beberapa kali hingga semua direktori yang diperlukan telah dibuat; setelah itu, harus sepenuhnya sesuai dengan UAC.

Memperkenalkan .Net Framework 3.5

Saya berharap Microsoft melangkah lebih jauh ke arah ini. Sayang sekali Microsoft tidak juga menyediakan penargetan untuk .Net Framework 1.1 dan konversi dua arah yang mudah antara proyek VS08, VS05, dan Visual Studio .Net 2003.

.Net Framework 3.5 memiliki sejumlah pustaka kelas dan fitur bahasa baru. Ini termasuk Language-Integrated Query (LINQ), Web 2.0 dan peningkatan terkait SOA, alur kerja terintegrasi, protokol peer-to-peer, dan dukungan Microsoft Office.

Perkakas untuk semua ini ditemukan di VS08. Jadi, misalnya, VS08 Standard dan yang lebih tinggi memiliki dukungan LINQ dalam Visual Basic .Net dan Visual C #, termasuk Object Relational Designer, alat baris perintah SQLMetal, editor kode yang sadar LINQ, dan dukungan debugger.

Kueri terintegrasi bahasa dengan LINQ

Beberapa komponen dan penyedia LINQ dikirim dalam VS08, termasuk LINQ ke Objek (string, refleksi, dan direktori file), LINQ ke XML, dan LINQ ke ADO.Net. LINQ ke ADO.Net mencakup dua komponen: LINQ ke DataSet dan LINQ ke SQL. Kerangka Kerja Entitas ADO.Net yang lebih ambisius dan LINQ ke Entitas tidak disertakan dalam VS08, tetapi dapat dikirimkan akhir tahun ini sebagai add-on.

Saya menguji LINQ ke SQL di C # terhadap database SQL Server 2000. Diagram relasional objek pada gambar layar ini dibuat secara otomatis dengan menyeret tabel dari database. Sekumpulan kelas yang dapat dipanggil dan sesuai dengan LINQ juga dibuat secara otomatis.

Object Relational Designer bekerja dengan baik untuk membuat kelas C # dari skema database, dan IntelliSense bekerja dengan baik saat saya menulis kueri LINQ. Di sisi lain, menulis kueri LINQ dengan tangan pada tiga tabel terkait mendorong batas keterampilan LINQ saya yang baru lahir, dan saya merindukan LINQ yang setara dengan SQL Query Designer VS08. Saya tidak pernah menemukan cara untuk menulis LINQ yang setara dengan query SQL "SELECT DISTINCT".

IntelliSense, refactoring, unit testing, dan metrik

Ketika saya mengerjakan proyek kecil ini, saya menemukan bahwa fungsi refactoring C # (termasuk dalam Professional dan di atasnya) bekerja dengan baik dan cukup lancar. Saat mengedit C #, pemrogram dapat memanfaatkan pemfaktoran ulang otomatis, seperti yang ditunjukkan pada menu popup gambar layar ini. Ada dukungan IntelliSense penuh untuk LINQ (lihat kode yang dimulai dengan "var qAV" pada gambar). Metrik kode (di bagian bawah gambar) dihitung hanya untuk kode yang dikelola.

Saya juga menemukan bahwa metrik kode untuk kode yang dikelola (termasuk dalam VSTS Developer dan Team Suite) bekerja dengan cukup baik. Saya tidak yakin apakah saya setuju dengan cara penghitungan metrik untuk kode yang dihasilkan dari permukaan desain, tetapi saya pasti dapat melihat keseluruhan utilitas metrik, terutama dalam konteks proyek tim yang dikelola dengan TFS.

Saya menggunakan metrik seperti kompleksitas siklomatik (ukuran jumlah jalur independen linier melalui modul program) beberapa tahun yang lalu untuk membantu saya mengelola proyek C besar dengan selusin programmer. Saya senang melihat teknologi ini diperkenalkan di VS08 untuk kode terkelola.

Saya kecewa, bagaimanapun, bahwa metrik kode dan pemfaktoran ulang kode tidak tersedia untuk proyek C ++ yang tidak dikelola. Di sisi lain, proyek C ++ dapat menggunakan browser panggilan yang sangat bagus: Ini memberi Anda tampilan ringkas dari fungsi lain yang memanggil fungsi yang diberikan, dan baris kode yang melakukan panggilan.

Saya senang bahwa proyek Visual Basic memiliki metrik kode bersama dengan sintaks yang sangat ringkas, IntelliSense yang hebat, dan banyak cuplikan kode. Saya kecewa karena proyek Visual Basic tidak memiliki pemfaktoran ulang kode, meskipun fungsionalitas ini dapat ditambahkan menggunakan salah satu dari beberapa plug-in pihak ketiga.

Dengan senang hati saya laporkan bahwa pengujian unit sekarang menjadi fitur Edisi Profesional. (Itu adalah fitur VSTS di VS05.) Anda dapat membuat tes unit dan menguji proyek untuk C #, Visual Basic, dan solusi C ++ terkelola. Hal ini dimungkinkan untuk melakukan ini sebelum menggunakan program sumber terbuka gratis NUnit, tetapi sedikit lebih baik memiliki kemampuan pengujian unit yang terintegrasi dengan IDE.

IntelliSense untuk JavaScript adalah salah satu perbaikan yang dijanjikan di VS08. Itu ada di sana, tetapi dengan biaya: Meskipun dukungan untuk jenis JavaScript yang digunakan untuk menulis halaman ASP.Net AJAX dan Silverlight telah ditambahkan, dukungan untuk mengedit VBScript dan ASP Klasik telah dibatalkan. Karena saya masih mempertahankan situs ASP Classic klasik tahun 1999, saya lebih dari sedikit jengkel saat mengetahui bahwa VS08 melakukan pekerjaan yang lebih buruk dengan halaman ASP daripada VS05, atau memang daripada Visual InterDev 6. Microsoft sedang mempertimbangkan untuk memulihkan fungsi ini untuk paket layanan ke VS08. Sementara itu, orang yang masih mempertahankan situs ASP Klasik tidak boleh meninggalkan alat yang ada.

WPF, Silverlight, dan Web 2.0

VS08 mendukung Silverlight, teknologi aplikasi Internet yang kaya yang menyertakan subset dari WPF, setelah Anda menginstal Silverlight SDK dan Silverlight Tools untuk VS08. Saya memiliki pengalaman yang baik dalam mengembangkan aplikasi Silverlight dengan versi beta VS08. (Untuk ulasan saya tentang Silverlight itu sendiri, lihat "Microsoft Silverlight saingan Flash, AJAX.")

Dengan pengecualian dari penurunan dukungan untuk VBScript dan Classic ASP, permukaan desain halaman Web di VS08 lebih baik daripada VS05; ini sangat mirip dengan Expression Web, dan mendukung CSS dengan baik. Permukaan desain dan proyek untuk ASP.Net AJAX, Windows Communications Foundation dan Windows Workflow Foundation, yang merupakan add-on gratis untuk VS05, telah dipindahkan ke produk VS08 dasar.

Target Kantor dan Perangkat Cerdas

VS08 dapat membuat proyek Perangkat Cerdas terkelola untuk empat platform target dan dua versi .Net Compact Framework di C # dan Visual Basic. Di C ++, VS08 dapat membuat proyek Perangkat Cerdas yang tidak dikelola menggunakan pustaka Win32, ATL (Active Template Library), dan MFC (Microsoft Foundation Class); kemampuan itu dulu ada di toolkit Windows CE yang terpisah.

Barang sisa

Microsoft SQL Server Compact 3.5 adalah database lokal baru yang cukup kecil untuk digunakan di perangkat pintar. Pengembang dapat menggunakannya baik dalam skenario yang berdiri sendiri maupun yang terkadang terhubung. Ketika SQL Server Compact digunakan untuk cache database lokal, Layanan Sinkronisasi Microsoft untuk ADO.Net menangani sinkronisasi berkala antara database Compact lokal dan database jarak jauh.

Jika penginstalan Team Foundation Server terdeteksi, Visual Studio dapat terintegrasi dengannya. Hal ini memungkinkan programmer untuk menerima item pekerjaan dan melakukan check-in, dan manajer untuk menghasilkan laporan seperti yang ditunjukkan di sini.

Sistem Tim memiliki sejumlah peningkatan. Satu hal besar di TFS adalah sistem Team Build baru; lainnya adalah akses Web. Arsitek memiliki perancang sistem top-down baru dan sistem peran arsitektur. Pengembang memiliki sistem metrik kode baru yang saya diskusikan sebelumnya, serta analisis kode dan alat kinerja yang lebih baik. DBA memiliki analisis kode T-SQL, generator data, dan alat pemfaktoran ulang. Penguji memiliki alat dan aturan validasi yang lebih baik, termasuk Test Load Agent.

Visual Studio memiliki ekosistem aktif vendor perangkat lunak independen. Sebagian besar vendor ini menghasilkan plug-in dan kontrol yang meningkatkan Visual Studio. Visual Studio Shell baru memungkinkan vendor ini mengirimkan versi produk mereka yang berdiri sendiri yang tidak memerlukan pelanggan untuk membeli Visual Studio yang tepat. Saya memuji langkah Microsoft ini: Saya pikir ini membuat ekosistem lebih sehat karena memungkinkan ISV menjadi lebih kompetitif dengan biaya yang relatif kecil bagi Microsoft.

Secara keseluruhan, Visual Studio 2008 adalah peningkatan yang ingin dilakukan oleh sebagian besar toko pengembangan berorientasi Microsoft, untuk mengembangkan dengan teknologi baru, seperti WPF, WCF, dan WF, dan untuk platform baru, seperti Windows Vista. Namun, ini bukanlah peningkatan yang mudah dilakukan sedikit demi sedikit; Saya menyarankan sebagian besar toko untuk meningkatkan semua pengembang pada suatu proyek setelah proyek itu sendiri berhasil ditingkatkan. Menurut pengalaman saya, mengupgrade proyek dari VS05 ke VS08 relatif tidak menyakitkan, melibatkan sangat sedikit cara penulisan ulang kode.

Untuk toko yang masih mempertahankan situs ASP Klasik, saya sarankan menginstal VS08 berdampingan dengan VS05, setidaknya hingga ASP Klasik dan fungsi pengeditan VBScript dipulihkan. Dan untuk toko yang masih menggunakan Visual Studio .Net 2003 atau versi yang lebih lama karena dianggap bermasalah dengan VS05, saya sarankan untuk mengevaluasi VS08 secara serius.

Dengan sedikit pengecualian, pengguna dari setiap level Visual Studio akan merasakan peningkatan rilis 2008. Ini adalah peningkatan yang kuat, dan dasar yang kokoh untuk pengembangan di masa depan.

Kartu catatan angka Nilai (10.0%) Kemampuan (30.0%) Kinerja (15.0%) Kemudahan pengembangan (30.0%) Dokumentasi (15.0%) Skor Keseluruhan (100%)
Microsoft Visual Studio 2008 Professional dan Microsoft Visual Studio Team System 2008 Team Suite 9.0 10.0 9.0 9.0 9.0 9.3