- عنوان: Programming Phoenix LiveView/ Interactive Elixir Web Programming Without Writing Any JavaScript
- نویسنده: Bruce A. Tate, Sophie DeBenedetto
- حوزه: برنامه نویسی وب, Phoenix LiveView
- سال انتشار: 2025
- تعداد صفحه: 616
- زبان اصلی انگلیسی
- نوع فایل: pdf
- حجم فایل: 6.32 مگابایت
اگر از نزدیک دنبال نکرده باشید، ممکن است به نظر برسد که LiveView ناگهان ظاهر شده است، مانند یک نهال جدید که یک شبه از سطح خاک بیرون میآید. این روایت فاقد چند جزئیات مهم است، مانند تمام جوانهزنی و رشد آهستهای که دور از دید اتفاق میافتد. کریس مککورد، خالق Phoenix، قبل از پیوستن به جامعه Elixir، روی Ruby on Rails کار میکرد. بیشتر و بیشتر اوقات، از مشاوره او خواسته میشد که از Ruby on Rails برای ساخت برنامههای تک صفحهای پویا (SPA) استفاده کند. او سعی کرد یک چارچوب سمت سرور بر روی زیرساخت Ruby on Rails، دقیقاً مانند LiveView، بسازد که به او امکان میداد این خواستههای تعاملی را برآورده کند. اما کریس تشخیص داد که زیرساخت Ruby به اندازه کافی قوی نیست تا از ایده او پشتیبانی کند. او به قابلیت اطمینان بهتر، توان عملیاتی بالاتر و عملکرد یکنواختتر نیاز داشت. او به دنبال زبان و زیرساخت مناسبتری گشت و Elixir را پیدا کرد. وقتی کریس از Ruby به Elixir نقل مکان کرد، ابتدا تکنیکهای برنامهنویسی متا[1] را که برای اجرای دیدگاه خود نیاز داشت، آموخت. سپس، او شروع به ساخت چارچوب توسعه وب Phoenix کرد تا از زیرساختی که برای تحقق این رویا نیاز داشت، پشتیبانی کند. در آن زمان، خوزه والیم شروع به کمک به کریس در نوشتن انتزاعهای اصطلاحی Elixir با تکیه بر OTP کرد. کتابخانههای OTP بسیاری از سوئیچهای تلفن جهان را پشتیبانی کردهاند و آمار زمان روشن بودن خیرهکننده و عملکرد تقریباً بیدرنگ را ارائه میدهند، بنابراین نقش مهمی در Phoenix ایفا کردند. کریس یک مدل برنامهنویسی به نام channels را به Phoenix معرفی کرد. این سرویس از HTTP WebSockets[2] و OTP برای سادهسازی تعاملات در Phoenix استفاده میکند. همانطور که تیم Phoenix مدل برنامهنویسی را تکمیل میکرد، اعداد عملکرد و قابلیت اطمینان خیرهکنندهای را مشاهده کردند. به دلیل OTP، Phoenix از همزمانی، قابلیت اطمینان و عملکردی که برنامههای تعاملی به آن نیاز دارند، پشتیبانی میکند. در برنامهنویسی تابعی، کریس روشهای تمیزتری برای پیوند دادن ایدههای خود به یکدیگر نسبت به شیگرایی ارائه شده، پیدا کرد. او یاد گرفت که توابع را با خطوط لوله Elixir و plugs ترکیب کند. کار او با OTP به او آموخت که در همان مراحل ترکیبپذیری که در این کتاب به شما نشان خواهیم داد، فکر کند. کار او با metaprogramming و ماکروها او را برای ساخت ویژگیهای روان فراتر از آنچه Elixir اولیه ارائه میداد، آماده کرد. در نتیجه، در Phoenix LiveView، کاربران یک تجربه برنامهنویسی دلپذیر و پربار پیدا میکردند. با رشد حوزه برنامهنویسی وب در اطراف او، چارچوبهایی مانند React و زبانهایی مانند Elm روش جدیدی برای تفکر در مورد توسعه رابط کاربری در لایههای مبتنی بر رویداد ارائه دادند. کریس متوجه شد. برخی از چارچوبها مانند Morphdom ظاهر شدند تا امکان جایگزینی یکپارچه عناصر صفحه را به روشی قابل تنظیم فراهم کنند. تیم Phoenix توانست ویژگیهای جاوا اسکریپت را در LiveView ایجاد کند که فرآیند تغییر رابط کاربری را در یک اتصال سوکت خودکار میکند. در LiveView، برنامهنویسان یک مدل برنامهنویسی زیبا بر اساس مفاهیم آزمایش شده پیدا میکردند و مدلی که زیرساخت جاوا اسکریپت را فراهم میکرد تا توسعهدهندگان نیازی به نوشتن جاوا اسکریپت خود نداشته باشند. و بنابراین، آن بذر جوانه زد و از سطح بیرون زد. کمی پس از اینکه بذر قابل مشاهده شد، اولین نسخه از این کتاب را معرفی کردیم. شش سال و صدها ویژگی بعد، LiveView به نسخه ۱.۰ رسید. به طور خلاصه، این LiveView است. ما زمان زیادی برای جزئیات بیشتر خواهیم داشت، اما اکنون، بیایید در مورد شما صحبت کنیم. این کتاب برای مبتدیان پیشرفته و برنامهنویسان متوسط است که میخواهند با استفاده از Phoenix LiveView برنامههای وب بسازند. در این دوره، شما با مفاهیم انتزاعی اولیهای که باعث میشوند LiveView کار کند، آشنا خواهید شد و تکنیکهایی را بررسی خواهید کرد که به شما کمک میکنند کد خود را در لایههایی که منطقی هستند، سازماندهی کنید. سعی میکنیم شما را با یک پیشرفت خستهکنندهی ویژگی به ویژگی، خسته نکنیم. در عوض، با ساختن یک برنامهی کاربردی و ساده با هم، به شما کمک میکنیم تا LiveView را درک کنید.
If you haven’t been following closely, it might seem like LiveView came suddenly, like a new seedling that breaks through the soil surface overnight. That narrative lacks a few important details, like all of the slow germination and growth that happens out of sight. Chris McCord, the creator of Phoenix, worked on Ruby on Rails before coming over to the Elixir community. More and more often, his consultancy was asked to use Ruby on Rails to build dynamic single-page apps (SPAs). He tried to build a server-side framework on top of the Ruby on Rails infrastructure, much like LiveView, that would allow him to meet these demands for interactivity. But Chris recognized that the Ruby infrastructure was not robust enough to support his idea. He needed better reliability, higher throughput, and more even performance. He shopped around for a more appropriate language and infrastructure, and found Elixir. When Chris moved from Ruby to Elixir, he first learned the metaprogramming techniques[1] he’d need to implement his vision. Then, he began building the Phoenix web development framework to support the infrastructure he’d need to make this vision a reality. At that time, José Valim began helping Chris write idiomatic Elixir abstractions relying on OTP. OTP libraries have powered many of the world’s phone switches, offering stunning uptime statistics and near realtime performance, so it played a critical role in Phoenix. Chris introduced a programming model to Phoenix called channels. This service uses HTTP WebSockets[2] and OTP to simplify interactions in Phoenix. As the Phoenix team fleshed out the programming model, they saw stunning performance and reliability numbers. Because of OTP, Phoenix would support the concurrency, reliability, and performance that interactive applications demand. In functional programming, Chris found cleaner ways to tie his ideas together than object orientation offered. He learned to compose functions with Elixir pipelines and the plugs. His work with OTP taught him to think in the same composable steps we’ll show you as this book unfolds. His work with metaprogramming and macros prepared him to build smooth features beyond what basic Elixir provided. As a result, in Phoenix LiveView, users would find a pleasant, productive programming experience. As the web programming field around him grew, frameworks like React and languages like Elm provided a new way to think about user interface development in event-powered layers. Chris took note. Some frameworks like Morphdom popped up to allow seamless replacement of page elements in a customizable way. The Phoenix team was able to build JavaScript features into LiveView that automate the process of changing a user interface on a socket connection. In LiveView, programmers would find a beautiful programming model based on tested concepts, and one that provided JavaScript infrastructure so developers didn’t need to write their own JavaScript. And so, that seed germinated and poked up through the surface. Shortly after the seed became visible, we introduced the first version of this book. Six years and hundreds of features later, LiveView hit version 1.0. In a nutshell, that’s LiveView. We’ll have plenty of time to go into more detail, but now, let’s talk about you. This book is for advanced beginners and intermediate programmers who want to build web applications using Phoenix LiveView. In it, you’ll learn the basic abstractions that make LiveView work, and you’ll explore techniques that help you organize your code into layers that make sense. We will try not to bore you with a tedious feature-by-feature march. Instead, we’ll help you grasp LiveView by building a nontrivial application together.
این کتاب را میتوانید بصورت رایگان از لینک زیر دانلود نمایید.
Download: Programming Phoenix LiveView, V.B12
نظرات کاربران