تعرف على الـTailwindCSS

السلام عليكم ورحمة الله تعالى وبركاته أولا أوجه شكري :clap: :clap:لأخي هشام @hichem2h الذي استعاد هيبة ومكانة مجتمعنا المتواضع بعد مدة زمنية لأنه في الأيام الماضية أصابنا الخمول والكسل لذا سأبدأ ان شاء الله بشرح مكتبة ال TailwindCSS
لنكن متفقين لقد بحثت على الأشياء الأساسية فيها لذا مزيد من التفاصيل يرجى التوجه الى الموقع الرسمي للمكتبة.
تنزيل

1-ماهي ال TailwindCSS

اذن الـTailwindCSS هي عبارة عن اطار عمل للـCSS لا تعتمد على المكونات Component Based كباقي أطر العمل الأخرى كـ Bootstrap و Foundation تعتمد عليه بشكل كبير.والجميل في هذا اطار العمل أنه يوفر لك أساسيات أولية لما تحتاجه لتصميم صفحات الويب أو بالأحرى يوفر لك نظام تصميم خاص بك مثل الهوامش ، والأحجام ، والألوان …الخ، وهذا النوع من الأشياء. لن تجد مكونات جاهزة مثل الأزرار وعلامات التنقل - الأمر متروك لك في استخدام Tailwind لإنشاء مكوناتك الخاصة. هذا يعطي حرية هائلة حيث العديد من الأطر الحديثة تقيد فقط ما تبنيه ؛ ليست هناك حاجة لتجاوز أي شيء.

2-طريقة تثبيت Tailwind

1. قم بانشاء مجلد جديد ثم قم بكتابة الأمر التالي:

> npm install tailwindcss

2. أنشئ ملف الـcss الرئيسي لتضع الستايل الخاص بك

من أجل استخدام كلاسات Tailwind يجب عليك استدعائها من خلال هذه الأوامر:

> @tailwind base;
> 
> @tailwind components;
> 
> @tailwind utilities;

3. أنشئ ملف تهيئة Tailwind بمعنى:

إذا كنت ترغب في تخصيص تثبيت Tailwind ، يمكنك إنشاء ملف تهيئة لمشروعك باستخدام الأداة المساعدة
Tailwind CLI المضمنة عند تثبيت حزمة tailwindcss npm لأنه يعتمد هذا اطار العمل على ملف js والذي يحتوي على اعداداته عبر الأمر التالي:

> npx tailwindcss init

3-مقارنة بين Tailwindو Bootstrap:

مايلي مقارنة بسيطة بين المكتبتين هنا رابط لمقالة عربية يقوم بوضع مقارنة بينهما.

مكتبة Bootstrap:

  • اذا كنت تريد تصميم جيد وأنت مستعجل توفرلك Bootstrap مكونات جاهزة دون تصميم أي شيء.

  • يعتمد Bootstrap على منهجية Object Oriented CSS التي أصبحت واحدة من أكثر الطرق الشائعة لإدارة stylesheets وclasses.

  • يستخدم أيضا معالجات CSS الأكثر شعبية ، وهي Sass.

    مكتبة Tailwind:

  • هنا لايلزمك نظام تصميم محدد بل يقوم ازالة كافة الستايلات مما يكون لديك نظام تصميم خاص بك.

  • طريقة كتابته تكون في كلاسات عناصر الـHtml بدلا من كتابة الكثير في CSS.

  • هناك ميزة رائعة وهي يمكنك تعيين حالات hover, active و focus باستخدام الـclasses.

4-مثال تطبيقي باستخدام CSS و Tailwind

SharedScreenshot

بواسطة CSS:

<div class="chat-notification">
  <div class="chat-notification-logo-wrapper">
    <img class="chat-notification-logo" src="/img/logo.svg" alt="ChitChat Logo">
  </div>
  <div class="chat-notification-content">
    <h4 class="chat-notification-title">ChitChat</h4>
    <p class="chat-notification-message">You have a new message!</p>
  </div>
</div>

<style>
  .chat-notification {
    display: flex;
    max-width: 24rem;
    margin: 0 auto;
    padding: 1.5rem;
    border-radius: 0.5rem;
    background-color: #fff;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  .chat-notification-logo-wrapper {
    flex-shrink: 0;
  }
  .chat-notification-logo {
    height: 3rem;
    width: 3rem;
  }
  .chat-notification-content {
    margin-left: 1.5rem;
    padding-top: 0.25rem;
  }
  .chat-notification-title {
    color: #1a202c;
    font-size: 1.25rem;
    line-height: 1.25;
  }
  .chat-notification-message {
    color: #718096;
    font-size: 1rem;
    line-height: 1.5;
  }
</style>

بواسطة Tailwind:

<div class="max-w-sm mx-auto flex p-6 bg-white rounded-lg shadow-xl">
  <div class="flex-shrink-0">
    <img class="h-12 w-12" src="/img/logo.svg" alt="ChitChat Logo">
  </div>
  <div class="ml-6 pt-1">
    <h4 class="text-xl text-gray-900 leading-tight">ChitChat</h4>
    <p class="text-base text-gray-600 leading-normal">You have a new message!</p>
  </div>
</div>

لرؤية مثال آخر اضغط هنا الى التطبيق الأصلي.

وفي الأخير أتمنى أن تستفيدوا ولو قليلا وحفظكم الله ورعاكم :heart_eyes:

14 Likes

الله الله :heart_eyes: :heart_eyes:

الحقيقة أول مرة أرى كلام متعلق ب tailwindCSS لكن أستطيع التحديد بالضبط أين أحتاجها و كيف أستعملها. مقالة في غاية الامتياز …شكرا على مشاركتنا هذه الابداعاات الرائعة صديقي مصعب و بالتوفيق في قادم أعمالك.

في الأخير عندي بعض الأسئلة صديقي:

  • هل ترى أنه الاختلاف كبير بين هاته المكتبة و bootstrap أم أنك ستصل لنفس النتيجة في كل الحالات؟
  • و هل تتوقع إقبال كبير عليه مستقبلا مقابل انخفاض في استعمال المكتبات الأخرى خاصة bootstrap؟
5 Likes

بارك الله فيك أخي :heart_eyes:

طبعا هناك اختلاف بينهما وليس كثير لأنه كما قلت الbootstrap تجعلك تتبع نظامها في التصميم بينما هاته المكتبة يمكنك انشاء نظامك الخاص في التصميم

لا أرى كثيرا أنها ستكون عليها اقبال كبير لأنه قد يكون تعلمها صعب في المستقبل

4 Likes

نادراً ما تجد من العرب من يهتم بمثل هكذا مقالات تتكلم عن آخر التقنيات :heart_eyes:

أهنئك عزيزي مصعب فأنت أحد القلائل المتألقين بهذا المجال…

أرى أن Tailwind CSS ربما قد تكون الخطوة الأولى (الصحيحة) في مجال الـ frontend لتسهيل التعامل مع CSS، ومن يدري ربما تصبح بعض الخصائص الموجودة في هذه المكتبة جزء من لغة CSS نفسها :thinking:

4 Likes

صراحة عندما رأيت هذا المثال في المقالة والاختلاف بينها في طريقة كتابة الأكواد اعجبتني لأنها منظمة بشكل خاص

4 Likes

ما شاء الله يا مصعب معلومات جديدة :clap:

  • انا استخدم vuetify بشكل اساسي في مشارعي هلي يمكن ان ادمج فيما بينها؟

  • اجد دوما صعوبة في التنسيق هلي توف لي هذه الاداة الاريحية في اختيار التنسيقات؟

الاسئلة موجهة للجميع
مجتمع كورتابز العظيم :heart::heart:

3 Likes

سؤال في محله نعم يمكنك استعمالها في مشروعك المستخدم بـvuetify لأنه هذه المكتبة معتمدة بشكل كبير على js واليك طريقة كيفية استعمالها في مشروعك المستخدم بـvuetify أو من خلال الموقع الرسمي

4 Likes

شرح بسيط وجميل مصعب صراحة.
اطار العمل هذا أصبح مشهور جداً هذه الأيام والاهتمام ونسبة الرضا في التعامل معها صار أكبر بكثير من بوتستراب حسب آخر احصائية تم عملها.

هذه احصائيات TailwindCSS:

مقارنة بالبوتستراب:

6 Likes

واو :-1: أظن أنه سيكون سقوط حر للـبوتستراب

4 Likes

نعم :joy::joy:

5 Likes

يعطيك العافيه أخي مصعب، مقال جميل وموضوع ال TailWindCSS أيضا في محله :muscle:t2::ok_hand:t2:.
أنا شخصيا أجد صعوبة في العمل في مجال الفرونت أند، ليس لدي الصبر المطلوب للتركيز في التفاصيل الصغيرة :stuck_out_tongue_winking_eye: أتمنى أن تكون هناك تقنيات مثل هذه لتسهل عليّ المهمة :blush:
شكرا على الموضوع مرة أخرى

3 Likes

العفو أخي فتحي :heart_eyes:
ان شاء الله راح تفيدك هذه المكتبة

3 Likes

يعطيك العافية صديقي مصعب

بالواقع TailWind CSS حلت مشاكل لكتير مطورين ما تأقلموا مع الـ CSS وهذا واحد من أسباب انتشارها بشكل كبير

بالنسبة لي، فكرة إنو يكون سطر الـ HTML عندي طويل ومليء بالـ Classes مُزعجة جدا :exploding_head:

4 Likes

شكرا أخي لؤي
ذلك السبب الذي حيرني أنه كتابة الـclasses في عناصر الـHtml قد يخلط الكود على البعض

3 Likes

منذ ان تعرفت على الـ tailwindcss لم أستخدم بعدها البوتسراب قط . من أفضل الأطر الموجودة و سيكون الأول .

هنالك دورة له أعمل عليها حاليا, لمن يريد ان يبدأ في استخدامه : https://www.youtube.com/playlist?list=PLfDx4cQoUNOY1nRXPd3o03lVQzpppY9xe

4 Likes

ياريت أخبرتنا بدورتك عندما بدأت بشرحها أعجبني تقديمك أخي
عمل موفق ان شاء الله :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

2 Likes

ان شـآء الله :smiling_face_with_three_hearts:

2 Likes

جميل المقالة اخي مصعب لكن السؤال الذي يطرح نفسه هل هذه المكتبة متوافقة مع اغلب المتصفحات؟

2 Likes

المقالة رائعة شكرا :green_heart:

2 Likes

مقال رائع أخي مصعب و شرح جميل جدا
شكرا جزيلا

2 Likes