Mempelajari Elixir Dan Membangun SaaS Dengan Phoenix Framework
Mempelajari Elixir Dan Membangun SaaS Dengan Phoenix Framework – Mempelajari bahasa baru tidak diperlukan untuk menjadi programmer yang lebih baik. Anda dapat fokus pada satu bahasa dan masih belum menemukan cukup waktu untuk mempelajari segala sesuatu tentangnya. Bahasa pemrograman, tidak seperti bahasa lisan, hanya menggunakan blok penyusun.
Mempelajari Elixir Dan Membangun SaaS Dengan Phoenix Framework
elixir-memory – Kami menggunakan kata-kata untuk membangun kalimat, kalimat untuk membangun paragraf dan paragraf untuk membangun makna. Huruf dan kata dapat dirangkai bersama dalam jumlah kombinasi yang tak terbatas. Sama berlaku untuk sintaks bahasa pemrograman.
Mengapa Mempelajari Bahasa Pemrograman Baru?
Jika Anda seorang insinyur dengan pengalaman lebih dari 10 tahun dalam suatu bahasa, Anda memiliki kekuatan untuk menciptakan apa pun dalam imajinasi Anda. Jadi mengapa Anda ingin belajar bahasa baru? Bagi saya, itu bagian dari rasa ingin tahu, FOMO dan sindrom “grass is greener”. Tapi kebanyakan, ini adalah kombinasi dari dua hal yang saya sukai yaitu belajar dan berkreasi. Sebagian besar kehidupan profesional saya berputar di sekitar JavaScript dalam beberapa bentuk atau lainnya. Sebelum Node.js, kami menggunakan klik JS untuk menambahkan interaktivitas ke sebagian besar halaman web statis. Hari ini, JavaScript adalah monster raksasa hydra yang mampu melakukan hampir semua hal. Agak berantakan, tapi juga cantik dengan cara yang jahat. Selama karir saya, saya juga menulis perangkat lunak dalam ASP, Java, Pascal, PHP, GO, Rust, Flutter, Haskell dan beberapa lainnya.
Baca Juga : Mengapa Elixir Adalah Bahasa Pemrograman Yang Harus Anda Pelajari Di Tahun 2022
Hanya satu dari bahasa tersebut yang merupakan bahasa fungsional yaitu Haskell. Haskell tidak pernah mengklik untuk saya. Saya dapat melihat kode yang telah ditulis orang lain dan dengan jelas melihatnya indah, tetapi saya selalu kesulitan menulisnya sendiri. Bisa jadi karena bahasa Haskell terlalu tepat/benar secara matematis, dan otak saya lebih condong ke arah kekacauan atau kreatif. Sekilas, Elixir tampak seperti bahasa pemrograman fungsional yang lebih ramah daripada Haskell bagi saya. Meskipun kami tidak pernah mengklik, saya menghargai banyak konsep yang diadopsi oleh bahasa tersebut. Elixir tampak seperti jalan tengah yang baik antara berguna dan ketat. Semacam kombinasi Haskell dan Python (atau Ruby). Elixir telah menerima banyak desas-desus akhir-akhir ini. Perusahaan teknologi besar, seperti Heroku, Discord, dan WhatsApp, telah berhasil menerapkannya dalam skala besar.
Mempelajari Elixir
Situs web resmi Elixir menjelaskan bahasa dengan indah, “Elixir adalah bahasa yang dinamis dan fungsional untuk membangun aplikasi yang dapat diskalakan dan dipelihara. Elixir memanfaatkan Erlang VM, yang dikenal menjalankan sistem latensi rendah, terdistribusi, dan toleran terhadap kesalahan. Elixir berhasil digunakan dalam pengembangan web, perangkat lunak tersemat, penyerapan data, dan pemrosesan multimedia, di berbagai industri.” Cara terbaik kita belajar bervariasi dari orang ke orang. Biasanya saya belajar paling baik dengan melakukan. Tapi kali ini kebetulan saya sedang lelah untuk melakukan, makanya saya memutuskan untuk memulai perlahan-lahan dengan kebanyakan membaca:
- Dokumentasi resminya ada di elixir-lang.org
- Pemrograman Phoenix, oleh Chris McCord, Bruce Tate dan José Valim
- Pengembangan Berbasis Tes dengan Phoenix, oleh German Velasco
Sumber daya ini memberi saya kepercayaan diri untuk mulai mengerjakan proyek saya sendiri.
Membangun SaaS Di Elixir
Sejak meluncurkan TAYL pada tahun 2019, saya telah menguji beberapa ide tentang apa yang dapat dilakukan AI untuk audio. TAYL memungkinkan Anda mengubah teks apa pun, baik itu situs web, dokumen, atau yang lainnya, menjadi audio. Audio yang dapat Anda dengarkan di iOS, Android, sebagai Podcast atau online melalui aplikasi web. Ribuan pengguna di seluruh dunia telah melihat manfaat mendengarkan daripada membaca. Untuk menguji air dengan keterampilan Elixir yang baru saya temukan, saya memutuskan untuk mengembangkan pembelajaran saya dari TAYL. Dengan cara itu saya bisa kembali ke solusi saya yang ada yang ditulis di Node.js, jika saya mengalami kebuntuan. Proyek ini memerlukan pembuatan SaaS yang akan membantu pemilik situs web mengubah kata-kata tertulis mereka menjadi audio. Ide awal saya hanya melibatkan audio, tetapi kemudian saya juga memasukkan video. Aplikasi kemudian akan mendistribusikan audio dan video ke platform seperti Apple Podcasts, Spotify, dan YouTube.
Pengembangan Berbasis Tes Di Elixir
Sebagai siswa yang baik dari buku bahasa Jerman, saya melakukan yang terbaik untuk menggunakan pengembangan berbasis tes secara keseluruhan. Tes unit di Elixir biasanya ditulis di ExUnit. Untuk pengalaman terbaik, saya sarankan melihat cara mengintegrasikan lingkungan pengujian dengan editor atau IDE Anda. Dalam kasus saya, vim-test berhasil. Jika Anda melakukan TDD dengan benar, Anda seharusnya dapat membangun seluruh aplikasi web yang berfungsi tanpa harus meluncurkan browser web. Proyek ini dibangun dengan Phoenix Framework, yang memiliki dukungan besar untuk pengujian. Kami memulai dengan memikirkan tujuan akhir saat melakukan pengembangan yang digerakkan oleh pengujian. Pada contoh di atas, kami menguji apakah halaman ini menampilkan judul dan deskripsi podcast. Itu juga harus mencantumkan episode dan feed podcast.
Hasil
Aplikasi di deploy ke Google Cloud. Itu bisa saja diterapkan di tempat lain, tetapi karena saya memilih Google Cloud Storage, saya pikir aplikasinya juga bisa berjalan di sana. Saya berencana untuk memindahkan sebagian aplikasi ke fly.io di masa mendatang, untuk memanfaatkan jaringan edge mereka untuk meningkatkan kinerja. Hanya beberapa pelanggan yang telah mendaftarkan akun sejauh ini. Kami hanya melakukan sedikit pemasaran, jadi masih terlalu dini untuk mengatakan apakah ini sukses atau tidak. Either way, saya senang dengan hasilnya. Kunjungi podopi.com untuk memeriksanya. Laman landas dibuat dengan Next.js dan TailwindCSS. Mendaftar untuk jejak gratis jika Anda memiliki situs web dan ingin memberikan audio kepada pembaca Anda.
Kesimpulan
Membuat proyek membutuhkan waktu sekitar 3 bulan, sementara juga mengerjakan hal-hal lain dan berdagang di pasar saham untuk mencari nafkah. Saya butuh beberapa minggu untuk melakukan pemanasan ke Elixir, dan pemrograman fungsional. Tapi setelah itu saya merasa seefisien, bahkan lebih efisien, seperti yang saya bisa dengan JavaScript dan Node.js. Memiliki pendekatan berbasis tes membantu saya mengulang dan belajar dengan cepat. Sering kali saya tidak yakin cara terbaik untuk menyelesaikan tugas tertentu di Elixir, ketika ExUnit membantu saya menguji beberapa solusi untuk memilih yang paling cocok. Elixir, dan Phoenix Framework khususnya, adalah solusi termasuk baterai yang saya cari. Bersama dengan Oban, antrean tugas yang dibangun di atas Postgres, saya merasa diberdayakan untuk membangun aplikasi yang dapat diskalakan dengan cepat. Elixir tentu saja bukan peluru perak, tetapi tambahan yang berharga untuk kotak peralatan saya yang saya yakin akan saya gunakan lagi di masa mendatang.