Membuat aplikasi F#
Pada titik ini, Anda menggunakan Read-Evaluate-Print-Loop (REPL) dan bahkan mungkin membuat file skrip fsx . Sekarang Anda berada di titik di mana aplikasi Anda tumbuh dan Anda perlu menyertakan lebih banyak file. Anda juga ingin kemampuan untuk mengemas dan mendistribusikan aplikasi Anda. Untuk melakukannya, Anda perlu membuat proyek. .NET SDK menyediakan berbagai template proyek untuk membantu Anda mulai membangun semua jenis aplikasi.
Apa itu Template .NET?
Saat menginstal .NET SDK, Anda menerima lebih dari selusin templat bawaan untuk membuat proyek dan file, termasuk:
- Aplikasi konsol
- Pustaka kelas
- Proyek pengujian unit testing
- aplikasi web ASP.NET Core
- File konfigurasi
F# memiliki dukungan untuk berbagai templat, mulai dari pengujian dan proyek web hingga pustaka kelas. Untuk daftar lengkap proyek yang didukung, jalankan dotnet new -l di konsol.
Membuat aplikasi menggunakan template
Untuk membuat aplikasi baru, gunakan perintah .NET CLI dotnet new. Misalnya, jika Anda ingin membuat aplikasi konsol F#, Anda menggunakan perintah berikut.
dotnet new console --language F# -o MyFSharpApp
Beberapa shell menafsirkan # sebagai karakter khusus. Dalam hal ini, sertakan bahasa dalam tanda kutip seperti dotnet new console --language "F#" -o MyFSharpApp.
Perintah dotnet new console menggunakan template .NET konsol bawaan untuk membuat perancah aplikasi konsol baru.
Setelah beberapa detik, direktori bernama MyFSharpApp muncul dengan kode untuk aplikasi F# Anda.
Struktur Proyek
Ada dua file di direktori MyFSharpApp :
- Program.fs - Titik entri untuk aplikasi Anda.
- MyFSharpApp.fsproj - File proyek MSBuild yang berisi informasi dan instruksi build. MSBuild adalah platform untuk membangun aplikasi yang menyediakan skema XML untuk file proyek yang mengontrol cara platform pembangunan memproses dan membangun perangkat lunak.
Nota
Jika templat konsol Anda dibuat dengan versi .NET yang lebih baru, templat tersebut mungkin menghasilkan kode dengan titik masuk implisitprintfn yang memanggil fungsi secara default.
Dalam contoh berikut, file Program.fs berisi kode dengan titik masuk eksplisit .
// Learn more about F# at https://learn.microsoft.com/dotnet/fsharp
open System
// Define a function to construct a message to print
let from whom =
sprintf "from %s" whom
[<EntryPoint>]
let main argv =
let message = from "F#" // Call the function
printfn "Hello world %s" message
0 // return an integer exit code
Aplikasi ini menggunakan System pustaka kelas, yang diimpor dengan menggunakan open kata kunci.
Fungsi from menggunakan parameter string whom untuk membuat dan memformat pesan string.
Fungsi main adalah titik entri aplikasi. Aplikasi menggunakan fungsi from untuk membuat pesan "dari F#" dan mengikat nilainya ke message. Kemudian, dengan menggunakan fungsi printfn, aplikasi mencetak "Halo dunia dari F#" ke konsol.
Membangun aplikasi
Sekarang setelah aplikasi konsol Anda dibuat, saatnya untuk membuatnya menggunakan dotnet build perintah . Perintah dotnet build membangun proyek dan dependensinya ke dalam kumpulan biner. Biner menyertakan kode proyek dalam file Bahasa Perantara (IL) dengan ekstensi .dll. Bergantung pada jenis dan pengaturan proyek, file lain mungkin disertakan, seperti:
- File executable yang dapat Anda gunakan untuk menjalankan aplikasi, jika jenis proyek adalah aplikasi yang dapat dieksekusi yang menargetkan .NET Core 3.0 atau yang lebih baru.
- File simbol yang digunakan untuk debug dengan ekstensi .pdb.
- File .deps.json, yang mencantumkan dependensi aplikasi atau pustaka.
- File .runtimeconfig.json, yang menentukan runtime bersama dan versinya untuk aplikasi.
- Pustaka lain tempat proyek bergantung (melalui referensi proyek atau referensi paket NuGet).
File output ditulis ke lokasi default, yaitu bin/<configuration>/<target>. Debug adalah konfigurasi default, tetapi Anda dapat menimpanya dengan opsi --configuration. Target mengacu pada kerangka kerja target, yang ditentukan dalam properti TargetFramework dari file fsproj. Kerangka kerja target menetapkan kumpulan API yang ingin Anda sediakan untuk aplikasi atau pustaka. Misalnya jika Anda memiliki aplikasi .NET 5 dan menjalankan dotnet build, output ditempatkan di bin/Debug/net5.0.
Jalankan aplikasi Anda
Untuk aplikasi yang dapat dieksekusi, dotnet run perintah menyediakan opsi yang nyaman untuk menjalankan aplikasi Anda. Perintah dotnet run mencari .dll atau eksekusi di direktori output Anda dan menggunakan driver dotnet untuk menjalankan kode seperti yang ditentukan di titik entri aplikasi (Program.fs).
Kiat
Saat Anda menggunakan perintah dotnet run, dotnet build juga dijalankan secara otomatis. Oleh karena itu, Anda dapat melewati langkah membangun aplikasi secara eksplisit.