Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Perbedaan Middleware Framework dengan Framework
Halo semuanya, saya sedang belajar Deno Js nah di dalam deno itu ada sebuah middleware framework yg bernama Oak, disini saya mau bertanya apasih bedanya framework seperti express atau sails pada node js dan middleware framework seperti oak pada deno js ?
1 Jawaban:
<div>Perbedaan mencoloknya yang mengunakan Middleware adalah cara menangani request http dengan cara membuat saluran (pipeline) dari macam-macam 'module'. <br>Dengan begitu kita bisa mengatur module sesuai kebutuhan kita.<br>contoh: kalau kita membuat api server, maka ktia tidak perlu render(untuk html generator) dalam pipeline yang ada.<br>Ada kita ingin sebelum ke-module router, kita ingin ada module auth didepannya atau kita bisa menganti module auth dengan module yang sama tapi dari vendor yang berbeda. <br>Jadi kita mengatur sesuai kebutuhan.<br><br><figure data-trix-attachment="{"contentType":"image/png","filename":"request-delegate-pipeline.png","filesize":38055,"height":384,"url":"https://i.ibb.co/x6SbjRD/request-delegate-pipeline.png","width":600}" data-trix-content-type="image/png" data-trix-attributes="{"caption":"asp.net core middleware pipeline","presentation":"gallery"}" class="attachment attachment--preview attachment--png"><img src="https://i.ibb.co/x6SbjRD/request-delegate-pipeline.png" width="600" height="384"><figcaption class="attachment__caption attachment__caption--edited">asp.net core middleware pipeline</figcaption></figure><br>kalau <a href="https://expressjs.com/">express</a>, <a href="https://sailsjs.com/">sails</a>, <a href="https://hapi.dev/">hapi</a>; mereka menghandle request-nya langsung di-module-nya (route, render html, logic dan lainnya); mirip<a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface"> Common Gateway Interface (CGI)</a>.<br><br>middleware ini terinspirasi dari <a href="https://github.com/rack/rack">rack</a>. <br>salah satu mengadopsinya adalah ASP.NET Core; diawali dengan project katana dengan Open Web Interface(OWIN).<br>Dalam ASP.NET Core sekarang ini ada <a href="https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-3.1">MVC</a> dan <a href="https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-3.1&tabs=visual-studio">Razor Page</a> kalau kita ingin merender html; di sini kita bisa pilih menjalankan 2 system itu atau hanya satu saja.<br><br>Dari contoh diatas kita bisa lihat middleware ini bisa bertindak sebagai 'infrastructure'. <br>Bisa saja salah satu module middleware-nya itu untuk menangani render.<br>seperti <a href="https://rubyonrails.org/">Ruby-on-Rail</a> yang menjadi module-nya <a href="https://github.com/rack/rack">rack</a> atau <a href="https://docs.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-3.1">ASP.NET Core MVC</a>, <a href="https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-3.1&tabs=visual-studio">ASP.NET Core Razor Page</a> dan <a href="https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-3.1">Blazor</a> yang menjadi module-nya ASP.NET Middleware .</div>