<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lokendra Kushwah</title>
    <description>The latest articles on DEV Community by Lokendra Kushwah (@lokendrakushwah).</description>
    <link>https://dev.to/lokendrakushwah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1137441%2Ffcb60517-3980-46cc-b353-0b946ccb31de.png</url>
      <title>DEV Community: Lokendra Kushwah</title>
      <link>https://dev.to/lokendrakushwah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lokendrakushwah"/>
    <language>en</language>
    <item>
      <title>Tailcall API Gateway: A Beginner’s Guide</title>
      <dc:creator>Lokendra Kushwah</dc:creator>
      <pubDate>Sun, 04 Feb 2024 17:04:21 +0000</pubDate>
      <link>https://dev.to/lokendrakushwah/tailcall-api-gateway-a-beginners-guide-2033</link>
      <guid>https://dev.to/lokendrakushwah/tailcall-api-gateway-a-beginners-guide-2033</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2bpeoq4ylr5x63eywdk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2bpeoq4ylr5x63eywdk.png" alt="Header" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What do you think of when the term “Tailcall” is mentioned? Tailcall is often associated with tail call optimization (TCO), but TCO and Tailcall are actually very different things. TCO is a compiler optimization that takes a function call and turns it into a plain old jump, while Tailcall provides first-class primitives designed to interact with business entities directly without burdening the developer with the underlying protocol.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction to Traditional API Gateways
&lt;/h2&gt;

&lt;p&gt;Traditional API Gateways (“TAGs”) are essential for efficient API management, handling tasks such as routing, authentication, and monitoring. However, they often lack the flexibility to provide access to custom abstractions specific to a business’s needs, leading to limitations as companies scale.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fj0e3r0l3w0f037qsvj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fj0e3r0l3w0f037qsvj.png" alt="Introduction" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tailcall API Gateway: A New Approach
&lt;/h2&gt;

&lt;p&gt;Tailcall API Gateway offers a paradigm shift by focusing on an enterprise’s business entities, providing first-class primitives to interact with these entities directly. This approach transcends protocol constraints and emphasizes the nature of the API’s data, granting significant power and flexibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Tailcall
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Entity-Centric Approach: Tailcall allows developers to work around their business entities, specifying which parts of an entity should be public or private, and enabling the obfuscation of sensitive fields.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DSL Support: Tailcall’s Domain-Specific Language (DSL) facilitates complex operations efficiently and with minimal latency, supporting sophisticated API Orchestration beyond mere request routing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;API Orchestration: Tailcall’s DSL enables the definition of the expected API structure and provides guidance on resolving each component within the entity type. It automates the process of resolving and populating details, eliminating the need for manual coding.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp86gyhegq5pckhlfnazs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp86gyhegq5pckhlfnazs.png" alt="KeyFeatures" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with Tailcall
&lt;/h2&gt;

&lt;p&gt;Developers can set up Tailcall instantly via npm and unlock the power of high-performance API orchestration. The platform is designed for high availability and fault tolerance, ensuring uninterrupted service and reliability at scale. Tailcall’s plugin-centric extendability empowers enterprises to craft custom solutions that precisely fit their unique requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;To install Tailcall, you can follow the steps below based on your preferred method:&lt;/p&gt;

&lt;h3&gt;
  
  
  Using NPM
&lt;/h3&gt;

&lt;p&gt;If you have Node.js and NPM installed, you can use the following command to install Tailcall:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i &lt;span class="nt"&gt;-g&lt;/span&gt; @tailcallhq/tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After the installation, you can verify that Tailcall is installed correctly by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Using Yarn
&lt;/h3&gt;

&lt;p&gt;If you prefer Yarn, you can install Tailcall with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn global add @tailcallhq/tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can then verify the installation by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Using Homebrew
&lt;/h3&gt;

&lt;p&gt;If you use Homebrew, you can add the Tailcall repository and install it with the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew tap tailcallhq/tailcall
brew &lt;span class="nb"&gt;install &lt;/span&gt;tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To verify the installation, you can run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailcall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After the installation, you can launch the Tailcall server using the appropriate command with the full path to your GraphQL, YML, or JSON file. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tailcall start ./yourfile.graphql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the command succeeds, you will receive a URL to access the Tailcall Playground, where you can interact with your GraphQL API.For more detailed information, you can refer to the official documentation at Tailcall Installation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Community Feedback
&lt;/h2&gt;

&lt;p&gt;Feedback from the community emphasizes the importance of building and operating APIs independently, with GraphQL positioned as a client-side abstraction. Tailcall’s DSL allows consumers of the API to configure the schema, while behind the scenes, Tailcall automatically orchestrates the APIs to generate a unified GraphQL endpoint.&lt;/p&gt;

&lt;p&gt;By incorporating these key points, the blog can provide a comprehensive introduction to Tailcall for beginners, highlighting its unique approach and features in the realm of API management.&lt;/p&gt;

</description>
      <category>api</category>
      <category>apigateway</category>
      <category>graphql</category>
      <category>tailcall</category>
    </item>
    <item>
      <title>Why Tailwind CSS is still better than StyleX and other CSS libraries</title>
      <dc:creator>Lokendra Kushwah</dc:creator>
      <pubDate>Sun, 24 Dec 2023 10:35:34 +0000</pubDate>
      <link>https://dev.to/lokendrakushwah/why-tailwind-css-is-still-better-than-stylex-and-other-css-libraries-2bep</link>
      <guid>https://dev.to/lokendrakushwah/why-tailwind-css-is-still-better-than-stylex-and-other-css-libraries-2bep</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rqskem2P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fit:828/format:webp/1%2AMummlplFIcWmujyuNUqpRQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rqskem2P--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://miro.medium.com/v2/resize:fit:828/format:webp/1%2AMummlplFIcWmujyuNUqpRQ.png" alt="Uploading image" width="800" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Tailwind CSS&lt;/strong&gt;&lt;br&gt;
Tailwind CSS and StyleX are two different CSS libraries that offer unique strengths and are suitable for different use cases. Tailwind CSS is known for its utility-based approach, which enhances readability and consistency by providing a clear and concise representation of styling directly within the HTML.&lt;/p&gt;

&lt;p&gt;It also excels in rapid development scenarios, allowing developers to prototype and iterate quickly. Tailwind CSS provides excellent defaults and a comprehensive set of predefined styles, making it easy to create layouts that adapt to different screen sizes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About StyleX&lt;/strong&gt;&lt;br&gt;
StyleX offers a minimalistic approach with complete design system control, allowing developers to create custom styles without relying on a predefined design system.&lt;/p&gt;

&lt;p&gt;It is designed for complex, large-scale applications with its scalable architecture and focus on custom design systems. StyleX generates a single static CSS file at compile time, which can lead to better performance compared to Tailwind CSS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are counterpoints in favor of Tailwind CSS based on the mentioned concerns:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Readability:&lt;/strong&gt;&lt;br&gt;
The utility-based approach of Tailwind can enhance readability by providing a clear and concise representation of styling directly within the HTML.&lt;/p&gt;

&lt;p&gt;For those finding it challenging, various extensions can hide classes in editors until clicked, addressing concerns about complexity.&lt;/p&gt;

&lt;p&gt;This approach enables developers to quickly comprehend applied styles without navigating multiple CSS files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Ensuring Consistency:&lt;/strong&gt;&lt;br&gt;
Tailwind promotes consistency by offering a predefined set of utility classes, ensuring a consistent styling approach throughout the project.&lt;br&gt;
Teams can establish a shared design language, making it easier for different developers to work on the same project with a unified styling methodology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Streamlining Development Time:&lt;/strong&gt;&lt;br&gt;
Tailwind excels in rapid development scenarios, allowing developers to prototype and iterate quickly.&lt;br&gt;
The utility classes eliminate the need to write custom CSS for common styles, reducing the time spent on repetitive styling tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Performance Optimization:&lt;/strong&gt;&lt;br&gt;
Tailwind’s utility classes, when optimized using tools like PurgeCSS, result in minimal and only necessary CSS being included in the production build.&lt;br&gt;
The use of PostCSS and other optimization techniques ensures that only the styles actually used in the project are included, mitigating concerns about performance overhead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Balancing Flexibility:&lt;/strong&gt;&lt;br&gt;
Tailwind strikes a balance between utility classes and the ability to define custom styles when needed. Developers can use utility classes for common styles and resort to custom CSS when specific, unique styling is required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Responsive Design:&lt;/strong&gt;&lt;br&gt;
Tailwind provides a convenient way to handle responsive design with classes like sm:, md:, and lg:, making it easy to create layouts that adapt to different screen sizes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Community and Ecosystem:&lt;/strong&gt;&lt;br&gt;
Tailwind boasts a comprehensive official &lt;a href="https://tailwindcss.com/"&gt;documentation &lt;/a&gt;that serves as a valuable resource. The framework has a vibrant community, complemented by plugins and extensions that enhance functionality. The availability of third-party tools and resources enriches the framework’s versatility and adaptability.&lt;br&gt;
Tailwind has a thriving community, and its ecosystem includes plugins and extensions that can enhance functionality.&lt;br&gt;
The availability of third-party tools and resources contributes to the framework’s richness and adaptability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
While Tailwind CSS may not be universally suitable for every project or developer preference, its advantages in terms of readability, consistency, development speed, and performance are undeniable. When faced with complex styling, incorporating raw CSS for intricate animations is a viable option. Ultimately, the choice between Tailwind CSS and StyleX depends on the specific requirements and preferences of each project, as both libraries offer potent tools to streamline styling workflows and enhance the development process.&lt;/p&gt;

</description>
      <category>css</category>
      <category>tailwindcss</category>
      <category>frontend</category>
      <category>react</category>
    </item>
  </channel>
</rss>
