بهترین منابع آموزشی برنامه نویسی فارسی



لینوکس اوبونتو چیست ؟  لینوکس ubuntu چیست ؟ آموزش لینوکس ubuntu ؟ آموزش لینوکس

 

لینوکس ubuntu چیست ؟ 

 

ubuntu محبوب ترین توزیع سیستم عامل لینوکس در جهان است . ممکن است ubuntu بهترین توزیع باشد یا نباشد ولی در حال حاضر محبوبترین است . 

این توزیع از لینوکس یا بعبارتی دیگر برند " ubuntu " توسط شرکت Canonical  جهت استفاده خانگی ، استفاده روی سرور یا برای کاربردهای دیگر توسعه داده شده است .

همچنین ubuntu محبوب ترین سیستم عامل برای کلاد ( cloud ) میباشد .

شرکت گوگل محیط توسعه ی خود برای سیستم عامل اندروید را در محیط ubuntu آماده کرده است و بسیاری از جاهای دیگر ubuntu محبوب است ، به طوری که وقتی بسیاری از افراد به لینوکس فکر میکنند به احتمال زیاد ، به ubuntu فکر میکنند . 

لینوکس چیست ؟ linux چیست ؟ آموزش لینوکس ، آموزش Linux

پس لینوکس در چیست ؟ 

 

اگر چه در سرتاسر اینترنت مطالبی در مورد لینوکس موجود است ، اما بسیاری از اافراد هنوز نمیدانند لینوکس واقعا چیست . 

اگر بخواهیم بصورت حرفه ای تعریف کنیم ، لینوکس یک هسته است ، هسته ای برای سیستم عامل کامپیوتر ها .

این هسته ی لینوکس گسترده تر از چیزی است که مردم بعنوان هسته ی سیستم عامل اندروید تصور میکنند . 

وقتی از سیستم عامل لینوکس صحبت میکنیم ، در حقیقت منظور مخلوطی از هسته ی لینوکس به همراه برخی از ابزارهای اوپن سورس میباشد که بیشتر مربوط به پروژه گنو هستند و به آنها گنو/لینوکس گفته میشود . 

برای بیان ساده تر ، گنو/لینوکس ( که به اشتباه لینوکس گفته میشود ) یک سیستم عامل اوپن سورس است که بر روی هسته ی لینوکس ساخته شده است و شاخته ای از سیستم عامل یونیکس میباشد ، گنو/لینوکس پسرعموی دو سیستم عامل BSD و macOS میباشد .

هر چند برنامه های ساخته شده برای این سیستم ها  بصورت مستقیم در لینوکس کار نمیکند ولی معمولا برای لینوکس قابل پورت شدن است . 

خلاصه اینکه سیستم عامل های اساسی مشابه هم هستند و تغییر سیستم عامل از لینوکس به مک یا برعکس سخت نخواهد بود . 

آموزش لینوکس ، آموزش Linux ، دبیان چیست ؟

  ubuntu چطور شروع به کار کرد ؟ 

 

لینوکس ubuntu از ابتدا به این اندازه محبوب نبوده است ، در حقیقت ubuntu هنوز یک توزیع جوان است . با توجه به آنچه گفته شد ، محبوبیت و ارتقای ubuntu همزمان با محبوبیت لینوکس اتفاق میوفتد . 

ریشه ی توزیع ubuntu ، توزیع دیگر لینوکس به نام دبیان است . دبیان نیز یکی از قدیمی ترین و محبوبترین توزیع های لینوکسی میباشد و پیشرفت های زیادی را به وجود آورده است که کاربران مدرن لینوکس روز به روز بر آن تکیه می کنند .

Mark Shuttlesworth یک کارآفرین در آفریقای جنوبی که طرفدار دبیان بود و زمانی که شرکت خود را تاسیس میکرد با آن کار میکرد .

آقای Shuttlesworth  تصمیم گرفت یک توزیع جدیدی برای لینوکس بسازد و نام آن را ubuntu گذاشت . 

نصب و راه اندازی دبیان در سال ۲۰۰۴ بسیار سخت بود و یکی از اهداف اولیه ubuntu رفع کردن این مشکل بود به عبارتی دیگر هدف اصلی ubuntu این بود که عموم مردم به سادگی از یک توزیع بتوانند استفاده کنند . 

سیستم های دسکتاپ در انحصار مایکروسافت بود و ubuntu میخواست آنرا تغییر دهد . 

 نسخه های ابتدایی توزیع ubuntu بر ابزارهای رابط کاربری تمرکز بیشتری داشت همانند نصب کننده ی گرافیکی که باعث جذب کاربران زیادی به سمت این توزیع شد . 

ubuntu کامپیوتر شما را برای خود شما تنظیم میکند که قبلتر در دنیا لینوکس همچین چیزی وجود نداشت . 

ubuntu یک دسکتاپ کاملا آماده ، ساده و قابل استفاده برای کاربران عادی را فراهم میکند .

ubuntu نقاط ضعف لینوکس را رفع کرد مثل ساخت برنامه های جانبی ، درایورها ، دسترسی راحت و . .

بطور واضح ، تلاش برای در دسترس قراردادن لینوکس برای همه ، با ubuntu محقق شد چون ubuntu به زودی در قلب کاربران جدید لینوکس و همچنین کاربران قدیمی جای باز کرد . 

آموزش لینوکس ، آموزش Linux ، کاربرد لینوکس ، کاربرد linux

با ubuntu چه کارها میشود انجام داد ؟ 

 

شاید قبلا از این موضوع اطلاع نداشتید ولی شما با توزیع ubuntu لینوکس ، هر کاری را که بخواهید میتوانید انجام دهید . 

ubuntu یک توزیع لینوکسی قدرتمند و همه کاره است . بصورت تئوری شما میتوانید ubuntu را روی هر دستگاهی نصب و اجرا کنید و به عبارتی دیگر ubuntu روی کامپیوتر خانگی ، لپتاپ و گوشی های هوشمند قابل نصب است . 

شما میتوانید ubuntu را روی سرور نصب کنید و وب سایت خود را میزبانی کنید ، شما میتوانید در یک دستگاه متصل به شبکه جهت تهیه نسخه ی پشتیبان از  فایل های خود استفاده کنید . 

شما میتوانید ubuntu را روی Raspberry Pi نصب کنید تا در دستگاه های اینترنت چیزها بتوانید استفاده کنید . سرانجام ، میتوانید به روتر سفارشی خود متصل کنید که با ubuntu اجرا میشود . 

اگر احساس میکنید واقعا خلاق هستید سعی کنید ubuntu را روی گوشی اندرویدی خود اجرا کنید ، راه های زیادی برای این کار وجود دارد که اگر جستجو کنید پیدا خواهید کرد . 

اگر این مطلب را میخوانید به احتمال زیادی دوست دارید ubuntu را روی کامپیوتر خانگی یا لپتاپ خود نصب کنید و نگران این هستید که آیا برنامه های ویندوزی یا مک شما پیدا میشود یا نه ؟

مثل تمام سیستم عامل های دسکتاپ ، توسعه دهندگان برنامه های ubuntu نیز دست به کار شده اند و تقریبا برای هر برنامه ای در ویندوز یا مک جایگزینی در ubuntu وجود دارد که اکثرا رایگان هستند پس جای نگرانی نیست . 

اکثر درایورهای سیستم شما اعم از گرافیک و کارت صدا و . برای ubuntu موجود است و البته برای اطمینان بیشتر نام درایور خود را برای ubuntu در اینترنت سرچ کنید و سپس اقدام به نصب لینوکس ubuntu بکنید . 

آموزش لینوکس ، آموزش linux ، آینده ی لینوکس ، آینده ی اوبونتو ، آینده ی ubuntu

آینده ی ubuntu چطور است ؟ 

 

سخت است بگوئیم چه بر سر ubuntu خواهد آمد اما ubuntu همچنان بعنوان یک بازیگر اصلی در تکنولوژی های جهان نقش بازی میکند . 

ubuntu همیشه در زمینه ی رایانش ابری مورد علاقه است و همچنان به پیشرفت خود ادامه میدهد . همچنین ubuntu در زمینه ی هوش مصنوعی و یادگیری ماشین مطرح است . 

ubuntu یک نسخه ی خاص برای اینترنت چیزها دارد ، Ubuntu Core نام دارد همچنان در این زمینه در حال پیشرفت است . 

از آنجایی که شرکت IBM ، توزیع Red Hat لینوکس ، را به تصرف خود درآورد ، شرکت Canonical  که توسعه دهنده ی ubuntu است بزرگترین شرکت مستقل لینوکسی است . 

 بسته به  ت های شرکت IBM برای Red Hat، کاربران سابق Red Hat و CentOS می توانند به ubuntu سوئیچ کنند .

ubuntu به عنوان بزرگترین بازیکن در دسکتاپ و دنیای کسب و کار است و به احتمال زیاد خواهد بود . 

هر آنچه که به سر ubuntu در آینده خواهد آمد ، کاملا روشن است . همه نشانه ها به رشد مداوم کانونیکال و ubuntu در دنیای کسب و کار و بهبود قابلیت استفاده و سازگاری کاربران خانگی ubuntu اشاره دارد.

 

دوره ی آموزش فارسی لینوکس اوبونتو - آموزش لینوکس - دوره ی آموزش فارسی لینوکس - دوره ی آموزش اوبونتو آموزش نصب لینوکس اوبونتو 

 

. اتمام . 


دو ابزار react natieve و kotlin برای توسعه ی موبایل ها هستند . 

امروزه توسعه ی اپلیکیشن های موبایل سنگ بنای موفقیت ، رشد ، نوآوری و سودآوری در کسب کار ها میباشد . چندین شرکت بزرگ در حال حاضر از تکنولوژی های تلفن همراه برای رسیدن به اهداف تجاری خود استفاده می کنند .

این مقاله یک مقایسه برای انتخاب فناوری مناسب برای رسیدن به هدف شما از تولید اپ های موبایل است . 

اگر میخواهید یک اپلیکیشن موبایل جدید بسازید ، وقت آن است که دو ابزار محبوب توسعه ی اپ های موبایل یعنی زبان برنامه نویسی kotlin و فریمورک react native را مقایسه کنید تا مزایا و معایب هر کدام را تشخیص دهید . 

این تجزیه و تحیلیل کوچک و سریع به شما کمک خواهد کرد تا بعد از خواندن این مقاله متوجه شوید که react native مناسب شماست یا kotlin ؟

 

فریمورک React Native : 

 

فریمورک React Native یک فریمورک با زبان برنامه نویسی JavaScript است که توسط شرگت فیسبوک برای توسعه ی اپلیکیشن های موبایل ساخته شده است. با react native شما میتوانید برای ios و android برنامه تولید کنید و از کدهای وب در توسعه ی اپلیکیشن های موبایل نیز استفاده کنید . 

react native بر پایه ی فریمورک React میباشد که توسط فیسبوک برای کارهای رابط کاربری وب ساخته شده است که هدف اصلی این فریمورک نیز پوشش تلفن های هوشمند همراه بوده است .

این فریمورک به توسعه دهندگان اجازه میدهد با زبان برنامه نویسی که از قبل با آن کار میکردند اپلیکیشن های موبایل هم تولید کنند ( منظور زبان جاوا اسکریپت است ) .

کدهای نوشته شده برای سیستم عامل android را میتوان با دیگر پلتفرم ها مانند IOS به اشتراک گذاشت و توسعه دهنده همزمان میتواند برای ios و android اپ تولید کند  . 

این فریمورک به شما اجازه میدهد که از component های ui اصلی سیستم عامل ها استفاده کنید . 

 

مزایای استفاده از React Native : 

 

  • react native به شما اجازه میدهد با زبان جاوا اسکریپت اپلیکیشن های موبایل تولید کنید و از طراحی مشابه React استفاده میکند که به شما اجازه میدهد رابط کاربری پیشرفته موبایل از Ui کامپوننت های موبایل تولید کنید .
  • کار با React Native می تواند منابع مورد نیاز برای ساخت برنامه های موبایل را کاهش دهد . هر توسعه دهنده که با React کار کرده باشد میتواند برای وب و موبایل کدنویسی کند ، این امر انعطاف پذیری بیشتری را به توسعه دهندگان میدهد ، react native در کارهای تیمی به شدت منابع مورد نیاز را کاهش میدهد . 
  • react native بهترین گزینه برای توسعه دهندگانی است که تجربه ی کار با زبان برنامه نویسی javaScript را دارند و نیاز نیست این دسته برنامه نویسان برای برنامه نویسی android زبان java یا برای ios زبان swift را یاد بگیرند که در نهایت باعث سرعت یادگیری توسعه ی اپلیکیشن های موبایل برای ios و android میشود . این مزیت باعث میشود شرکت های مختلف ، برای توسعه ی اپلیکیشن های موبایل خود به افراد و متخصصین کمتری نیاز داشته باشند و در هزینه های انها صرفه جویی شود .
  • React Native به شدت در بحث رابط کاربری یا UI تمرکز کرده است ، که باعث می شود اپلیکیشن های نوشته شده ، بارگذاری سریع و احساس راحتی را به کاربر نهائی القا میکنند . React Native به شما امکان می دهد برنامه خود را سریعتر بسازید ، برنامه ها در حال توسعه سریع قابل مشاهده هستند چون نیاز به کامپایل مجدد نیست ، با Hot Reloading توسعه دهنده به کدنویسی خود سرعت بیشتری میبخشد و تغییرات را آنی میتواند ببیند 

 

زبان برنامه نویسی Kotlin : 

 

این زبان برنامه نویسی توسط  JetBrains توسعه داده شده است و پشتیبانی میشود . Kotlin یک زبان برنامه نویسی است که روی ماشین مجازی جاوا یا JVM اجرا میشود و قابلیت کامپایل به سورس کد زبان javaScript برای LLVM compiler قابل استفاده است . 

پس از تائید شدن رسمیت زبان Kotlin توسط گوگل که سازنده ی سیستم عامل اندروید است ، محبوبیت این زبان بیشتر و بیشتر شد . 

زبان Kotlin بخوبی در محیط Android Studio در کنار زبان Java قابل استفاده است و دیگر ide یا محیط های توسعه نیز از kotlin پشتیبانی میکند . 

کدهای نوشته شده با Kotlin نه تنها دقیق و مختصر است بلکه بسیار تمیز و قابل درک میباشد ، این قدرت به برنامه نویسان این امکان را میدهد که خطاهای کمتری داشته باشید و اگر هم خطایی بوجود آمد سریعا قابل حل باشد که شعار کاتلین نیز تقریبا این است : "با خطوط کمتر کد بنویس" !

 

مزایای زبان برنامه نویسی Kotlin : 

 

  • از زمانی که گوگل kotlin را معرفی کرده است ، این زبان رشد فوق العاده ای داشته است و از لحاظ ارائه پشتیبانی پایدار از سطوح مختلف تست ، پیشرفت کرده است . بسیاری از مشکلات برنامه نویسی از جمله کار با fragment ها در این زبان حل شده است ، سازگاری مع آن با نسخه های قبلی بعنوان یک مزیت دیگر است 
  • Kotlin مختصر است و نیاز به کمترین خطوط کدنویسی برای عملکرهای مختلف را دارد . کلمات ساده ، خطوط کمتری از کد که باعث کاهش احتمال اشتباهات می شود ، بهبود قابلیت نگهداری و خوانایی کدها از مزایای kotlin است ، این بدان معنی است که توسعه دهندگان Kotlin می توانند به طور موثر عملیات نوشتن، خواندن و تغییر کد را انجام دهند .
  • یکی از مزایای Kotlin قابلیت همکاری و سازگاری آن با زبان Java است . این زبان بصورت عالی با java کار میکند ، از جمله فریمورک ها و ابزارهای جاوا که بسیار غنی هستند . 

 

نتیجه گیری : 

 

React Native از جامعه ی خوب برنامه نویسان برخوردار است که اکو سیستم خوب توسعه ی اپلیکیشن را فراهم کرده است ، و همچنین دسترسی به کتابخانه ها و پلاگین ها زیادی دارد که سرعت توسعه را بیشتر میکند . این اپلیکیشن ها  از ویژگی های بصری و قوی نیتیو بهره می برند بدون اینکه به عملکرد آنها آسیب برساند.

از سوی دیگر، گوگل Kotlin را به عنوان زبان استاندارد برای توسعه اندروید توصیه می کند. 

کاتلین ۱۰۰% با جاوا سازگار است و همچنین قابلیت کار روی پروژه های قدیمی که با جاوا نوشته شده اند را فراهم میکند . 

Kotlin یک زبان سطح سازمانی است که با هدف حل مشکلات برنامه نویسی و توسعه که با شیوه های قدیمی مثل جاوا وجود داشت منتشر شده است . 

 

حال بسته به گفته های بالا این شما هستید که در نهایت تصمیم خواهید گرفت که کدام را انتخاب کنید . 

 

تمام 


مطالب زیر ممکن است برای شما مفید باشد

 Flutter یا React Native از دید یک توسعه دهنده 5 دلیل برای یادگیری کاتلین اطلاعات مفید کاتلین که نباید از دست بدید برنامه نویسی سوکت در جاوا ابزارهای توسعه اپلیکیشن های Cross Platform

محصولات برگزیده مناسب شما

 دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی کارگاه آموزشی کار با Grunt js

پایان


در این مقاله قصد داریم سه ویرایشگر کد ، که توسعه دهندگان از انها استفاده میکنند را مورد بررسی قرار دهیم .

من طی سالهای گذشته از محیط های توسعه برای وب استفاده کرده ام با زبان های مختلفی مثل php ، python ، جاوااسکریپت و  فریمورک های مختلف کار کردم  ولی در طی این سالها که من بطور مداوم از محیط هایی مثل sublime ، vscode ، phpstorme  و atom بهره میگرفتم متوجه قدرت atom نسبت به همه ی دیگر موارد شدم که اینجا دلایلش را خواهم نوشت .

 

ابزاری برای توسعه ی remote ftp  : 

 

مشکل اولی که من با محیط vscode مایکروسافت داشتم نبود ابزار یا پکیج خوب برای کارهای remote ftp بود ، شما فرض کنید توسعه ی یک وب سایت را در کامپیوترتان انجام دهید و بخواهید تمام تغییرات بصورت آنی ( هنگام ذخیره کردن فایل ) در سرور sync شود و به در همان لحظه سمت سرور اعمال شوند . 

شما برای این کار نیاز به یک ابزار ftp دارید تا ارتباط شما را بصورت منظم با سرور برقرار کند . با وجود چند پکیج در این زمینه برای vscode هنوز یک ابزار خوبی برای کارهای ریموت وجود ندارد و عملا در این زمینه شما به مشکل میخورید ولی این مشکل در محیط atom با پکیج remote-ftp کاملا حل شده است .

پکیج remote-ftp محیط atom این اجازه را به شما می دهد که به اکانت ftp خود وصل شوید و فایل ها را کاملا به کامپیوتر شخصی دانلود کنید و همچنین عمل اپلود را انجام دهید و همچنین یکی دیگر از مزایای این پکیج این است که شما میتوانید یک پوشه ی بک آپ در کامپیوتر شخصیتان داشته باشید که تمام تغییرات روی فایل های سرور برای شما ذخیره سازی میشود بدون انکه چیز اضافه ای اپلود و دانلود شود . 

پس در این یک مورد مطمئنا atom بر vscode پیروز است 

 

استفاده از منابع کامپیوتر : 

 

مشکل بعدی که شخصا با vscode مشکل داشتم استفاده ی زیاد از منابع کامپیوتر بود که این مشکل را باقی محیط ها بجز atom نیز دارند . وقتی شما حدودا پنج فایل متنی شامل کدهای php که حدود پنجاه خط کد درون آنها هست را باز کنید ، محیط vscode در حدود ۱۵۰۰ کیلوبایت از رم شما را اشغال میکند در حالیکه همین مقدار برای atom عددی در حدود ۵۰۰ الی ۷۰۰ کیلوبایت است . 

شاید در دید اول این مشکل بزرگی محسوب نشود ولی برای من که کامپیوتری با رم ۸ گیگ دارم و باقی قسمت های رم من با برنامه های در حال اجرا اشغال شده است واقعا ۱۵۰۰ کیلوبایت رم برای یک محیط توسعه ی ساده زیاد است در حالیکه همان کار ها و همان امکانات در محیط atom با رم ۵۰۰ الی ۷۰۰ کیلوبایت برای شما فراهم است . 

دیگر محیط های توسعه مثل sublime هم از این قاعده مستثنی نیستند و مقدار مصرف رم sublime نیز حدود ۱۵۰۰ کیلوبایت است و این عدد برای محیط phpstorm به دلیل سنگینی محیط مطمئنا عدد بالایی خواهد بود . 

 

پشتیبانی از زبان فارسی : 

 

در محیط sublime هیچ پشتیبانی برای زبان فارسی وجود ندارد و اگر شما عبارتهایی را فارسی تایپ کنید بصورت برعکس و جدا جدا قرار میگیرد و عملا نوشتن یک عبارت فارسی در توسعه ی وب با sublime ممکن نیست . البته یک پکیج برای پشتیبانی از زبان عربی برای sublime ساخته شده است و میتوانید برای کپی و پیست کردن عبارت های فارسی به sublime استفاده کنید ولی باز هم پشتیبانی خوبی از فارسی ندارد . 

محیط atom مشکلی با زبان فارسی ندارد و در بین عبارت های انگلیسی میتوانید عبارت های فارسی هم بکار بگیرید 

 

دیگر محیط های توسعه مثل phpstorm هم ظاهرا مشکلی با زبان فارسی ندارند . 

 

رایگان و غیر رایگان بود محیط های توسعه :

 

atom و vscode کاملا رایگان هستند . ولی محیط های phpstorm و sublime غیررایگان هستند و برای استفاده از آنها باید این محیط ها را خریداری کنید . 

مطمئنا برای یک برنامه نویس ایرانی مشکل است که یک نرم افزار بین المللی را خرید کند و در اکثر مواقع مجبور است انها را کرک کند . 

به نظر شما استفاده از یک محیط که کاملا رایگان است بهتر است یا یک محیط که بعدا کرک شده و غیرقانونی است ؟ ممکن است همین کرک باعث شود کل پروژه ی شما از بین برود ! 

atom توسط گیتهاب گسترش داده شده است که از ابتدا بر مبنای اصول منبع باز و رایگان کار کرده است ولی vscode توسط مایکروسافت که یک شرکت تجاری بود ساخته شده است 

به نظر میرسد ت های atom برای رایگان بودن بهتر از vscode خواهد بود . 

 

 

 

 


مطالب زیر ممکن است برای شما مفید باشد

 تگ های header را در سئو سایت دست کم نگیرید رادیو صفر و یک - پادکست شماره ی 9 ام - اینترنت بی اینترنت رادیو صفر و یک - پادکست شماره ی 3 ام - شرکت جت برینز و محصولاتش برای برنامه نویسان رادیو صفر و یک - پادکست شماره ی 5 ام - دیپ فیک چیست ؟‌ آخرین مرز میان حقیقت و دروغ رادیو صفر و یک - پادکست شماره ی 1 ام - معرفی رادیو صفر و یک و زندگینامه ی گوینده

محصولات برگزیده مناسب شما

 کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین کارگاه آموزشی کار با Grunt js

پایان


ری اکت نتیو یا react native چیست و  چه کاربردی دارد آموزش راه اندازی react native

ری اکت نتیو ( React Native ) یکی از فریمورک های زبان برنامه نویسی جاوا اسکریپت ( javaScript ) میباشد که برای تولید و ساخت اپلیکیشن های واقعی و بومی موبایل به کار برده می شود که با استفاده از ری اکت نتیو ( React Native )  برای سیستم عامل های ios و android میتوان اپلیکیشن تولید کرد . 

 

این فریمورک بر اساس یک کتابخانه به نام React میباشد که توسط فیسبوک در جهت کارهای رابط کاربری ساخته شده بود و این بار بجای هدف قرار دادن مرورگرها ، موبایل های هوشمند مد نظر است .

به  عبارتی دیگر توسعه دهندگان وب که با جاوا اسکریپت و کتابخانه های آن کار کرده اند ، اکنون به راحتی میتوانند به یک برنامه نویس موبایل برای تولید اپ های android و ios تبدیل شوند و اپلیکیشن های بومی تولید کنند . 

از آنجایی که بیشتر کدهای نوشته شده توسط توسعه دهنده برای پلتفرمهای مختلف یکسان است پس توسعه دهنده به راحتی میتواند همزمان اپ های ios و android تولید کند . 

 

در برنامه نویسی با ری اکت نتیو ( React Native ) ، همانگونه که برای وب نیز از React استفاده میشد ، توسعه دهنده کدهای خود را با مخلوطی از کدهای جاوا اسکریپت ( javaScript )  و xml مینویسد که بعنوان JSX شناخته میشود . 

در پشت صحنه ری اکت نتیو ممکن است api های رندرینگ مربوط به Objective-C (برای iOS) یا  Java (برای Android)  بهره گرفته شود ، بنابراین اپ های نوشته شده با کامپوننت های UI واقعی رندر خواهد شد نه با استفاده از WebView ها ! پس برنامه ی شما با برنامه های نوشته شده با زبان های اصلی معرفی شده توسط android یا ios تفاوت خاصی نخواهد داشت . 

ری اکت نتیو ( React Native )  با استفاده از زبان جاوا اسکریپت به API های مربوط به پلتفرم دسترسی دارد پس اپ نوشته شده ی شما میتواند به امکانات پلتفرم دسترسی داشته باشد برای مثال دوربین گوشی یا لوکیشن کاربر و .

 

ری اکت نتیو ( React Native )  در حال حاضر از دو سیستم عامل ios و android پشتیبانی میکند و پتانسیل این را نیز دارد که در آینده به پلتفرم های دیگر گسترش پیدا کند . 

همانطور که میدانید امروزه برنامه نویسی موبایل بصورت کراس پلتفرم از اهمیت بالائی برخوردار است و هر برنامه نویس موبایل با این مورد را مد نظر داشته باشد که ممکن است یک پروژه واحد برای سیستم عامل های گوناگون موبایل داشته باشد .  

محبوب ترین سیستم عامل های گوشی های هوشمند در دنیا android و ios است که توسط react native میتوانید برای انها اپلیکیشن تولید کنید . 

 

مزیت های استفاده از ری اکت نتیو ( React Native )  : 

ری اکت نتیو یا react native چیست و  چه کاربردی دارد آموزش راه اندازی react native

۱ - استفاده از api های اصلی پلتفرم ها :



از آنجایی که  ری اکت نتیو از API های اصلی پلتفرم میزبان جهت رندر کردن اپلیکیشن استفاده میکند ، میتوان گفت یک سر و گردن بالاتر از دیگر ابزارهای کراس پلتفرم تولید اپ ،  است . 

ابزارهای کراس پلتفرم دیگر مثل Cordova یا Ionic از JavaScript, HTML, و CSS استفاده میکنند ولی نتیجه ی نهائی اپلیکیشن های آنها در یک WebView رندر و تولید میشود . 

درست است که اپلیکیشن های تولید شده با این ابزار ها نیز کارآیی دارد ولی در آینده باعث ایجاد مشکلاتی مخصوصا در بخش پرفرمنس اپلیکیشن خواهد بود . 

همچنین این ابزارها به api های ui اصلی پلتفرم ها دسترسی نخواهند داشت . 

وقتی این ابزارها بجای استفاده از api های اصلی پلتفرم ها آنها را شبیه سازی میکنند ، این مهندسی مع ممکن است در آینده مشکلات زیادی بوجود بیاورد مثلا در بخش ساخت انیمیشن و .

 

۲ - جامعه ی زیاد :

 

توسعه ی ری اکت نتیو ( React Native ) در رویداد hackathon  سال ۲۰۱۳ شروع شد . این کار در پاسخ به درخواست جامعه ای از برنامه نویسانی بود که با react کار میکردند و به دنبال ابزاری برای توسعه ی اپ های موبایل بودند . نتیجه ی تلاش های فیسبوک منجر به تولید ری اکت نتیو ( React Native )  شد که توسط تیم تیم فیسبوک نیز پشتیبانی میشود و توسط جامعه ای از برنامه نویسان رو به جلو حرکت میکند . 

وجود برنامه نویسانی که با JavaScript کار میکنند ، و همچنین برنامه نویسانی که با react کار کرده بودند باعث شده است که جامعه ی بسیاری از برنامه نویسان برای کدنویسی اپ های موبایل با react native بوجود بیاید . 

 

۳ - حداکثر استفاده مجدد از کد و صرفه جویی در هزینه و زمان :

 

با استفاده از ری اکت نتیو ( React Native )  کدهایی که برای توسعه ی اپلیکیشن های android مینویسید برابر با همان کدهایی هست که برای توسعه ی اپ های ios مینویسید و این به معنی حداکثر استفاده ی مجدد از کدها و صرفه جوئی در زحمت و زمان برنامه نویسان است . بصورت تئوری میتوان گفت که این صرفه جوئی ۵۰% میباشد . طبق تحقیقات انجام شده ، هر برنامه نویس میتواند ۹۰% از کدهای نوشته شده برای android را برای اپ های ios نیز استفاده کند  و فقط بخش های کوچکی از کد باید باز نویسی و تغییر پیدا کند . البته ممکن است این زمان و این درصد برای اپ های مختلف و تغیییرات مختلف در اپ ها متفاوت باشد . 

 

۴ - نمایش تغییرات بصورت زنده : 

 

ری اکت نتیو ( React Native ) برای ساخت اپ های موبایل بعد از React در نظر گرفته شده است به عبارتی دیگر ری اکت نتیو ( React Native ) براساس ایده های React برای توسعه ی اپ های موبایل ساخته شده است . در حقیقت ری اکت نتیو دارای امکاناتی است که در بسیاری از ابزارهای توسعه ی موبایل نمیتوانید پیدا کنید . 

live reload یکی از این ابزارهاست که به شما اجازه میدهد تغییرات را بصورت آنی و زنده ببینید . فرض کنید یک پنجره باز کردید و در حال کدنویسی هستید و یک پنجره ی دیگری دارید که اپلیکیشن را برای تست نمایش میدهد هر انچه که در بخش کدنویسی تغییر میدهید به سرعت در بخش پیش نمایش اپ اعمال میشود و بصورت زنده میتوانید مشاهده کنید . 

 

۵ - پرفرمنس بهتر :

 

معماری React Native بسیار مناسب برای دستگاه های تلفن همراه است . ری اکت نتیو ( React Native ) از GPU (واحد پردازش گرافیکی) استفاده می کند در حالی که دیگر ابزارهای توسعه ی اپ های نتیو ، بیشتر از CPU (واحد پردازش مرکزی) استفاده میکنند . در مقایسه با فن آوری های hybrid ( که تنها گزینه ی توسعه ی اپ های کراس پلتفرم بودند ) ، ری اکت نتیو ( React Native )  بسیار سریعتر است . 

 

۶ - ماژولار و معماری بصری قوی مثل React : 

 

یکی از مزایای استفاده از ری اکت نتیو ( React Native ) که قبلا هم درباره ی آن صحبت کردیم و اینجا بصورت شفاف تر به آن میپردازیم . 

ماژولار بودن و معماری بصری قوی باعث می شود که توسعه دهندگان دیگر به راحتی با پروژه های شما بتوانند کار کنند . این مزیت باعث شده است که کارهای تیمی با ری اکت نتیو ( React Native ) بهتر پیش رود و همچنین بروزرسانی اپلیکیشن های مربوط به وب سایت ها راحت تر انجام بگیرد . 

همچنین افرادی که اپ ها را تست میکنند زمان کمتری را صرف درک منطق برنامه نویسی و سناریو پروژه  صرف میکنند . 

این به صرفه جویی در وقت منجر می شود و میتواند برای شرکت ها و افراد برنامه نویس موبایل خوشحال کننده باشد . 

 

شروع برنامه نویسی با ری اکت نتیو ( React Native ) : 

ری اکت نتیو یا react native چیست و  چه کاربردی دارد آموزش راه اندازی react native

برای شروع برنامه نویسی با ری اکت نتیو ( React Native ) شما باید محیط کدنویسی خود را آماده کنید که بسته به سیستم عاملی که استفاده میکنید ( مک ، ویندوز ، لینوکس ) باید نرم افزارهای مورد نیاز را دانلود و نصب کنید . 

برای شروع ما سعی داریم نحوه ی نصب و آماده سازی محیط کدنویسی برای ویندوز را آموزش دهیم هر چند این مورد برای مک یا لینوکس تفاوت چندانی ندارد . 

مراحل زیر را طی کنید : 

  1. ابتدا Node.js و Android Studio را دانلود و نصب کنید . پیشنهاد میکنیم از نسخه های LTS مربوط به Node.js استفاده کنید 
  2. پایتون2 و jdk رو جداگانه نصب کنید
  3. حالا react native را با دستور زیر نصب کنید : 
    npm install -g react-native-cli​
  4. حالا SDK های اندروید را دانلود و نصب کنید 

حال با دستور زیر میتوانید یک پروژه ری اکت نتیو ( react native ) ایجاد کنید : 

react-native init AwesomeProject 

پس از ایجاد فولدر پروژه و وصل بودن شبیه ساز اندروید با دستور زیر برنامه شما اجرا میشود :

cd AwesomeProject 
 react-native run-android 

 


مطالب زیر ممکن است برای شما مفید باشد

 تگ های header را در سئو سایت دست کم نگیرید رادیو صفر و یک - پادکست شماره ی 9 ام - اینترنت بی اینترنت رادیو صفر و یک - پادکست شماره ی 3 ام - شرکت جت برینز و محصولاتش برای برنامه نویسان رادیو صفر و یک - پادکست شماره ی 5 ام - دیپ فیک چیست ؟‌ آخرین مرز میان حقیقت و دروغ رادیو صفر و یک - پادکست شماره ی 1 ام - معرفی رادیو صفر و یک و زندگینامه ی گوینده

محصولات برگزیده مناسب شما

 کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین کارگاه آموزشی کار با Grunt js

پایان


مقایسه لاراول و کدایگنایتر

برنامه نویسان وب که با زبان پی اچ پی کار میکنند به دنبال یک فریمورک قابل اعتماد هستند تا پروژه های خود را پیاده سازی کنند . برای انتخاب فریمورک زبان پی اچ پی گزینه های زیادی وجود دارد . 

قبل از بوجود آمدن فریمورک ها ، برنامه نویسان وب ، سایت ها را با کدهای خام پی اچ پی انجام میداند اما اکنون با استفاده از فریمورک ها میتوان کدنویسی زیبایی را انجام داد . 

در این مقاله ما به دو فریمورک محبوب پی اچ پی به نام های کدایگنایتر و لاراول می پردازیم . 

اگر کدایگنایتر و لاراول یکی از گزینه های انتخابی شما هستند و سوال شما این است که کدام را انتخاب کنم ؟ این بستگی به کاری دارد که میخواهید انجام دهید . 

در مقاله ی زیر مقایسه ی خوبی بین لاراول و کدایگنایتر انجام دادیم ، بخوانید تا متوجه شوید کدام یک مناسب شماست و باید انتخاب کنید . 

 

مقایسه ی فریمورک کدایگنایتر با لاراول ( Codeigniter vs Laravel ) 

 

1 مقایسه از نظر model view و controller ا ( CodeIgniter vs Laravel: Model View Controller ) : 

 

هر دو فریمورک Laravel و Codeigniter از الگوی طراحی  MVC استفاده میکنند . این الگو باعث افزایش سرعت کدنویسی و توسعه میشود چرا که کدنویس ممکن است بخش هایی که در یک پروژه انجام داده است در پروژه های دیگر هم بتواند استفاده کند . MVC دیزاین پروژه را به سه بخش اصلی تقسیم بندی میکند . 

مدل که وظیفه ی ارتباط با دیتابیس و عملیات های مرتبط با آن میباشد 

کنترلر که کنترل کننده و انجام دهنده ی عملیات های اصلی پروژه در این بخش است 

ویو بخشی است که رابط کاربری پروژه ی ما را آماده سازی میکند . 

 

2 مقایسه از نظر طراحی پایگاه داده بین لاراول و کدایگنایتر : 

 

لاراول از ORM استفاده میکند . ORM مخفف Object-Relational Mapping یک تکنیک میباشد که داده های پایگاه داده را در برنامه نویسی شی گرا وارد میکند بعبارتی داده های دیتابیس به اشیا درون کدهای پروژه تبدیل میشود . 

جدول های پایگاه داده در لاراول از رابطه ها که یک سیستم در لاراول است استفاده میکنند و میتوان روابط پیچیده بین تمام جدول ها را با لاراول پیاده سازی کرد 

یکی از بهترین مثال ها پیاده سازی سیستم پرداخت حقوق میباشد ، جدول کارمندان در ارتباط با جدول حقوق ، جدول پرداخت ها و . میباشد . که توسعه دهنده میتواند بین جداول مختلف هر نوع رابطه ای را پیاده سازی کند . 

لاراول همچنین امکان کوئری نویسی خالی را هم دارد ( نه به شیوه ی ORM ) . این شیوه ممکن است مشکلاتی با شیوه ی ORM داشته باشد چون تفاوت هایی با هم دارند  دو سیستم Elequent ORM  و Query Builder در لاراول مطالعه کنید . 

 

کدایگنایتر هم از ORM استفاده میکند . در کدایگنایتر اشیای پایگاه داده ، شامل مواردی مثل رابطه ها در لاراول نیست . Object-oriented databases (OODB)  برای ذخیره سازی داده های نامرتبط یا داده های سازمان دهی نشده ،  بهتر از ORM است . مثلا برای ساماندهی یک سری تصویر و ویدئو مناسب است . 

 

نتیجه ی مقایسه ای این بخش : باز هم به پروژه ی شما بستگی دارد . برای پایگاه داده ی وب سایت های تجاری لاراول بهتر است در حالی که برای سایت های کوچک و شخصی یا فروشگاه های کوچک اینترنتی سیستم کدایگنایتر ساده ، سریعتر و کارآمدتر خواهد بود . 

 

3 نگهداری لاراول در مقایسه با کدایگنایتر :

 

لاراول بر نگهداری آسان پروژه ها تمرکز کرده است . این مورد لاراول را برای کارهای درون شرکت یا تیم آسان میکند بخصوص برای پروژه هایی که در طول زمان زود زود تغییر پیدا میکند . 

توسعه دهندگانی که مطمئن هستند ، تغییرات و نگهداری روزانه روی سایت دارند به خوبی میدانند که لاراول بسیار بهتر است . 

 

کدایگنایتر برای نگهداری و تغییرات زود زود ، متاسفانه خوب نیست ! کدایگنایتر برای پروژه های کوچک و سریع تاکید میکند کدایگنایتر ماژولار نیست پس یک توسعه دهنده باید کدهای زیادی بنویسد و وقت زیاد بگذارد تا سایت را اپدیت کند . 

 

نتیجه ی مقایسه در این بخش : در این بخش لاراول پیروز است .

 

4 مقایسه لاراول و کدایگنایتر از نظر قالب سازی و کتابخانه ها :

 

کدایگنایتر در حالت کلی سیستم قالب سازی ندارد ولی باز هم تاکید میکنم این فریمورک سبک و برای پروژه های شخصی مناسب تر است ، کدایگنایتر فقط سیستم قالب ساز و کتابخانه های بزرگی ندارد . 

فریمورک لاراول از موتور Blade  برای قالب سازی استفاده میکند . این موتور با MVC سازگار است و توسعه دهندگان میتوانند کدهای HTML خود را رندر کنند و باعث میشود کدنویسی حالت ماکارانی انجام نشود . 

 

کدایگنایتر تعداد کمی کتابخانه دارد که بسیار جامع هم نیستند . سیستم لاراول به خوبی مستند سازی و قابل گسترش است که به توسعه دهندگان با نمونه کدهای ارائه شده کمک بزرگی میکند . 

 

نتیجه ی مقایسه در این بخش : در این بخش لاراول پیروز است .

 

جوانب مثبت و منفی فریمورک های لاراول و کدایگنایتر : 

 

مقایسه ی بین لاراول و کدایگنایتر به این مورد بستگی دارد که شما قصد دارید چه چیزی بسازید . هر دوی این فریمورک ها برای زبان php هستند ولی پیاده سازی آنها متفاوت است . 

 

کدایگنایتر ( Codeigniter ) :

بهترین فریمورک پی اچ پی کدایگنایتر

فریمورک کدایگنایتر برای افرادی که تازه شروع میکنند مناسب است و قصد دارند در مدت زمان کم یک فریمورک از زبان php را مسلط شوند . برای اپلیکیشن های تحت وب که سبک و کوچک هستند بهترین گزینه است که نیاز به تغییرات و بروزرسانی های زیاد نیست . 

 

جنبه های مثبت فریمورک کدایگنایتر : 

  • سبک است ( فضای مورد نیاز تقریبا 256 MB است ) 
  • بهترین گزینه برای اجرای سریع و سایت های کوچک مثل وب سایت های شخصی 
  • حتما نیاز نیست توسعه دهنده از mvc تبعیت کند
  • برای یادگیری راحت است و سریع می توان متخصص شد 
  • OODB  برای داده های غیر مرتبط 

جنبه های منفی فریمورک کدایگنایتر : 

  • ساختار کلی قالب یا موتور قالب سازی وجود ندارد و همچنین کتابخانه های کمی دارد 
  • بروزرسانی های بعدی سایت کمی دردسر ساز خواهد شد برخی جاها نیاز است بخشی از کدها از اول نوشته شود 
  • ماژولار نیست 

 

لاراول ( Laravel ) :

بهترین فریمورک پی اچ پی لاراول

لاراول برای کارهای شرکتی ، تیمی و سازمانی یا پروژه های تجاری بزرگ پیشنهاد میشود که قصد دارند امکانات وب سایت خود را زود زود بروزرسانی کنند . ممکن است یادگیری لاراول کمی زمان بر باشد ولی ارزشش را دارد و کتابخانه های جامع و قالب های قوی نگهداری و بروزرسانی یک وب سایت لاراول ساده خواهد بود .  

 

جنبه های مثبت فریمورک لاراول : 

  • موتور قالب سازی Blade باعث میشود کدهای کمتر HTML بنویسید و قالب سازی راحتی انجام دهید 
  • کتابخانه های جامع تر و همچنین مستندات بهتری نسبت به کدایگنایتر دارد 
  • برای داده های سازمان دهی شده و بزرگ رابطه های لاراول بسیار مفید است 
  • امنیت وب سایت را برای سایت های مدرن تامین میکند 
  • ابزارهای زیادی مثل Artisan , migration , Tinker و . دارد 

جنبه های منفی فریمورک لاراول : 

  • تناقص بین سیستم Elegant و Query builder ممکن است نتایج خالی از پایگاه داده به شما تحویل دهد 
  • لاراول از legacy systems بخوبی نمیتواند استفاده کنند . 
  • کدنویسی در لاراول به سبکی و سادگی کدایگنایتر نیست و گاهی در لاراول کدهای اضافی وجود دارد که باعث حجیم شدن پروژه میشود 

 

مقایسه لاراول با کدایگنایتر : نتیجه گیری نهائی 

 

هدف شما از پروژه ای که انجام میدهید و آینده ی آن بهترین تصمیم را برای انتخاب بین لاراول و کدایگنایتر میتواند بگیرد . برای پروژه های کوچک و شخصی کدایگنایتر بهتر است . لاراول برای وب سایت هایی که تیمی روی آن کار میشود و بزرگ است استفاده میشود . 

 


مطالب زیر ممکن است برای شما مفید باشد

 جانگو یا لاراول ؟ برنامه نویسان وب بخوانند لاراولی کوچک با طعم جدید - میکروفریمورک Lumen احراز هویت با لاراول 6 کدام فریمورک PHP ؟ چند داشبورد مدیریتی آماده برای لاراول

محصولات برگزیده مناسب شما

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش ساخت فریمورک برای پی اچ پی با PHP MVC دوره ی آموزش کامل فریمورک لاراول Laravel دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین

پایان


کاتلین چیست و چرا باید یاد بگیریم

کاتلین ( Kotlin ) چیست ؟ 

 

به زبان ساده کاتلین یک زبان برنامه نویسی جدید است که برای توسعه اپلیکیشن های اندرویدی استفاده میشود . ویژگی ها و مزیت های زبان کاتلین و همچنین تعامل خوب آن با زبان قبلی توسعه ی اپ های اندرویدی یعنی جاوا ، باعث شده است که کاتلین جایگاهی خوبی در توسعه ی برنامه های اندرویدی پیدا کند . 

شرکت های بزرگی همچون  Pinterest, Netflix, Lyft, و Capital One در فناوری های توسعه ی خود از زبان کاتلین استفاده میکنند و از زمانی که شرکت گوگل ( پشتیبان رسمی اندروید ) زبان برنامه نویسی کاتلین را بصورت رسمی پشتیبانی کرد علاقه ی شرکت ها و افراد برنامه نویس به این زبان شدیدتر شد . 

اما واقعا چه دلایلی وجود دارد که یک برنامه نویس ، زبان کاتلین را بیاموزد ؟ در زیر شش دلیل آورده ام که شما را راهنمایی میکند . 

 

دلایل استفاده از زبان کاتلین ( Kotlin )  

 

1 - نیاز بازار کار به کاتلین ( kotlin ) : 

 

بازار کار زبان کاتلین ( kotlin )

طبق آمار سایت realm  که بر اساس برنامه نویسان موبایل و زبان های برنامه نویسی استفاده شده توسط انان میباشد ، سال ۲۰۱۸ بعنوان سال زبان برنامه نویسی کاتلین معرفی شده است . طبق مطالعات انجام شده بعد از مراسمGoogle I/O ۲۰۱۷ مقدار ۲۰% از برنامه نویسان که از جاوا استفاده میکردند اکنون از زبان کاتلین استفاده میکنند . این نوسان آماری نتیجه ی استفاده ی برنامه نویسان و شرکت ها از زبان کاتلین است . 

اگر نگاهی به سایت جهانی کاریابی Glassdoor بیاندازید مشاهده میکنید که بسیاری از شرکت ها و تیم های برنامه نویسی اندروید در سطح جهان به دنبال برنامه نویس اندرویدی هستند که به کاتلین مسلط باشد . 

سایت realm پیش بینی کرده که تا پایان سال ۲۰۱۸ کاتلین پیشرفت زیادی خواهد کرد تا جایی که زبان مورد نیاز برای یک برنامه نویس اندرویدی خواهد بود . این پیشرفت ها با افزایش تقاضای بازار کار نیز میباشد . 

خوب بودن یادگیری کاتلین تنها به توسعه ی اندروید ختم نمیشود ، سایت  ITJobsWatch را نگاهی بیاندازید . میبینید که چقدر تقاضای زبان کاتلین زیاد میباشد که تنها مربوط به توسعه ی اندروید نیست بلکه برنامه نویس سمت سرور و . مسلط به کاتلین مورد نیاز بازار کار است . 

 

2 - افزایش سرعت توسعه ی پروژه ها در کاتلین ( Kotlin ) : 

 

سرعت زبان کاتلین kotlin

در برنامه نویسی با کاتلین خطوط کدنویسی کمتری خواهیم داشت . کاتلین بصورت ذاتی یک زبان فشرده و مختصر میباشد  ، بنابراین شما میتوانید کارهای زیادی را با خطوط کمتری انجام دهید . 

برای مثال شما میتوانید یک لیست ویو را به سادگی یک خط فیلتر کنید : 

val positiveNumbers = list.filter { it > 0}

و شما اگر یک singleton نیاز دارید به راحتی خطوط زیر یک آبجکت تولید میکنید : 

object ThisIsASingleton {
 val companyName: String = JetBrains”
}

 

در زبان کاتلین مختصر بودن کدها ، باعث عدم خوانایی کدهای شما نمیشود این به این معنی است که شما مدت زمان کمتری را صرف کدنویسی میکنید و سرعت انجام و بازبینی پروژه های شما بالا میرود ، در این صورت شما میتوانید بخش های زیادی را در سریعترین زمان ممکن به اپلیکیش های خود اضافه کنید و خواسته کاربران خود یا کارفرمای خود را با سرعت تمام انجام دهید . 

بخشی از مطلب قرار گرفته در سایت Techbeacon.com در این باره اینجا نوشتم : 

توسعه دهندگان کدهای کمتر و تمیز را دوست دارند . کدهای کمتر ، زمان کمتری برای نوشتن ، زمان کمتری برای خواندن و خطاهای کمتری خواهد داشت . شرکت jetbrains  درد روزانه  برنامه نویس ها در کدنویسی ، را درک کرده است و کاتلین را تولید کرده است . 

 

3 - کیفیت بالای اپلیکیشن های تولید شده در کاتلین ( Kotlin ) :

 

کیفیت بالای کاتلین kotlin

کاتلین با ویژگی هایی safety که دارد باعث ارتقای کیفیت اپلیکیشن ها میشود بطوری که باگ های بسیار کمتری رخ میدهد برای مثال در مقابل خطای معروف اپ های اندرویدی nullpointerexception مقاوم است و براساس سیستم  null-safety می باشد . 

به عبارتی دیگر در کاتلین متغیرها بصورت پیشفرض نمیتواند null باشد ، با به دام انداختن خطاهای بیشتر ، در نتیجه ی برنامه ی کم خطا تری تولید میشود .

این خیلی مهم است چون نام این خطا billion dollar mistake نام گذاری شده بود .

 

4 - از کتابخانه های موجود جاوا میشود در کاتلین (kotlin ) استفاده کرد : 

 

کاتلین kotlin و  جاوا  java

زبان کاتلین ۱۰۰% با زبان جاوا سازگار است پس نیاز نیست برنامه نویسی با جاوا را متوقف کنید  و شما به تدریج میتوانید از جاوا به کاتلین بدون دردسر کوچ کنید . 

از این رفرنس توابع میتوانید استفاده کنید این رفرنس به شما توانایی این را میدهد که با کدهای قدیمی حتی کلاس های جاوا به همراه کاتلین کار کنید بدون اینکه نیاز باشد همه چیز را از ابتدا با کاتلین بنویسید . 

این یکی از مزیت های زبان کاتلین محسوب میشود که به شما این قدرت را میدهد که همه ی  زبان های یادگرفته ی قبلی خود را رها نکنید و در کنار انها بتوانید کار کنید . 

 

5 - زبان کاتلین ( kotlin ) بصورت رسمی توسط تیم گوگل پشتیبانی میشود : 

 

معرفی کاتلین در گوگل آی او introduce kotlin in google io

در مراسم Google I/O در May ۲۰۱۷ بصورت رسمی گوگل اعلام کرد که زبان برنامه نویسی کاتلین را بعنوان زبان برنامه نویسی توسعه اپ های اندرویدی انتخاب میکند . 

در مراسم Google I/O ۲۰۱۷ گفته شده : 

زبان کاتلین بصورت درخشان طراحی شده است ، زبان بالغی است که ما باور داریم توسعه ی اپ های اندرویدی را سریعتر و جذاب تر خواهد کرد ، بسیاری از توسعه دهندگان اندرویدی به ما گفته اند که کاتلین را دوست دارند و این چیزیست که بسیاری از توسعه دهندگان تیم خود ما نیز میگویند .

جامعه ی اندروید صحبت کرده و ما فقط گوش دادیم . 

 

درست یکسال بعد در مراسم Google  I/O ۲۰۱۸ گوگل اعلام کرد : 

۳۵% برنامه نویسان حرفه ای از کاتلین استفاده میکنند . بسیاری از برنامه نویسان در حال کوچ به زبان کاتلین هستند و ما به مدت طولانی این زبان را پشتیبانی خواهیم کرد . 

 

محیط برنامه نویسی رسمی اندرویدی یعنی Android Studio  از نسخه ی ۳ به بعد بصورت کامل از زبان کاتلین پشتیبانی میکند . پس شما میتوانید کدنویسی کاتلین را بدون نیاز به یادگیری یک محیط جدید شروع کنید . 

میتوانید کدهای جاوا و کاتلین را به سادگی کلیک روی یک دکمه درون محیط اندروید استودیو انجام دهید  .

یادگیری زبان کاتلین بسیار لذت بخش و ساده میباشد و اگر به فکر یک زبان خوب برای سرعت بخشیدن به توسعه اپلیکیشن های اندرویدی خود هستید از کاتلین استفاده کنید . 

برای شرکت های بزرگ و کوچک و همچنین برنامه نویسان فردی ، به دلیل بهره وری بالایی که دارد کامل منطقی و متقاعد کننده است . همچنین باعث میشود باگ های یک اپ به سرعت و سادگی گرفته شود  کاتلین در آینده باعث میشود ابزارهای جدید یا بروزرسانی های جدید را سریعتر تحویل میشتری دهید . 

شما اگر در حال توسعه ی اپلیکیشن های خود با جاوا هستید اصلا نگران نباشید همانطور که در بالا هم گفته شده است کاتلین کاملا با جاوا سازگار است و نیاز نیست شما جاوا را فراموش کنید هر جا که حال کردید با کاتلین کد بزنید و یاد بگیرید !

 

. اتمام . 

 

 


مطالب زیر ممکن است برای شما مفید باشد

 اطلاعات مفید کاتلین که نباید از دست بدید آموزش ساخت اسلایدر تصاویر اپ اندرویدی با زبان Kotlin آموزش کار با آرایه ها در زبان کاتلین چطور یک برنامه نویس موبایل شوید ؟ (راهنمای کامل) مقایسه بین react Native و Kotlin

محصولات برگزیده مناسب شما

 دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین دوره آموزش برنامه نویسی اندروید با کاتلین kotlin بصورت پروژه محور کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel دوره ی آموزش لینوکس اوبونتو

پایان


پنج دلیل عمده برای استفاده از جاوا اسکریپت

 

دلیل ۱ :

جاوااسکریپت آسان است. هیچ پیش نیازی و برنامه ی خاصی برای راه اندازی نیاز ندارد. کدهای این زبان میتواند توسط مرورگر شما اجرا شود ! کاری که نیاز است این است که فقط شروع کنید به کد نوشتن و نتایج در مرورگر شما نمایان خواهد شد .

برای افرادی که بی حوصله هستند، و حوصله ی دنبال کردن دستورالعمل های نصب مثل زبان های پایتون و رابی و . را ندارند ، جاوا اسکریپت بهترین گزینه است . 

یکی از موانع یادگیری یا سخت شروع یادگیری یک زبان برنامه نویسی جدید مراحل پیچیده و ابتدائی برای نصب و راه اندازی محیط آن زبان است که جاوااسکریپت این سختی ها را ندارد و به هیچ برنامه و محیط از پیش نصب شده ای نیاز نخواهد داشت .

 

دلیل ۲ :

جاوااسکریپت در همه جا استفاده می شود. در توسعه ی  وب (  vue.js , Angular , React)، در سمت سرور، موبایل، کامپیوتر خانگی، بازی ها، اینترنت اشیاء، رباتیک، دنیای مجازی و .

اما بیشتر کاربرد جاوا اسکریپت در توسعه ی وب است، چون جایگزین بهتری برای جاوا اسکریپت برای نوشتن برنامه های سمت کلاینت وجود ندارد.

قدرت اصلی زبان جاوا اسکریپت در توسعه ی وب میباشد اما در دیگر پلتفرم ها جایگزین های قوی تر و بهتری برای این زبان وجود دارد ، به عنوان مثال، در توسعه ی موبایل، جاوااسکریپت هیچ امیدی به جایگزینی با جاوا در برنامه نویسی اندروید و Objective-C/Swift در IOS  ندارد.

در برنامه نویسی دسکتاپ، جاوااسکریپت نمی تواند با C++  و جاوا رقابت کند.

در بازی سازی ، زبان اصلی و قدرتمند C++  و C# است ( باز هم جاوااسکریپت نمی تواند با آنها رقابت کند).

در اینترنت اشیاء قدرت اصلی دستC, Python , Java  و حتی زبانPerl  است.

در رباتیک نیز جاوااسکریپت نمی تواند با C/C++  و جاوا و پایتون رقابت کند.

آنچه از نوشته های بالا برداشت میشود این است که جاوا اسکریپت با اینکه زبان مولتی پلتفرم و محبوب است ولی در پلتفرم های خاص دیگر همیشه زبان های کامل و قوی وجود دارد که از جاوا اسکریپت قویتر هستند به همین خاطر تاکید ما این است که جاوا اسکریپت را برای توسعه وب و نوشتن برنامه های سمت کلاینت که در مرورگر اجرا میشوند به کار بگیرید .

دلیل ۳ :

وجود فریمورک نود جی اس(Node.js) که یک فریمورک بسیار محبوب و پرکاربرد است و پکیج منیجر NPM که بزرگترین پکیج منیجر برای جاوا اسکریپت است و بیش از ۳۰۰۰۰ هزار بسته جاوااسکریپتی در آن موجود است. 

 نود. جی‌اس امکان استفاده از جاوااسکریپت برای نوشتن اسکریپت‌های سمت سرور را فراهم می‌کند تا بدین صورت بتوان با آن صفحات وب پویا را قبل از فرستادن آن به مرورگر کاربر تولید کرد.

 پس شما میتوانید وب سایت های داینامیک سریع تولید کنید که سمت سرور نیز با جاوااسکریپت کدنویسی کرده باشد و این باز دوباره اهمیت یاد گیری جاوااسکریپت را نشان میدهد . 

 

دلیل ۴ :

بازار کار برای زبان برنامه نویسی جاوااسکریپت بسیار عالی است .

بیشتر شغل های مورد نیاز بازار کار زبان جاوااسکریپت مربوط به توسعه وب سایت ، سمت کاربر
 (front-end) یا Node سمت سرور با است.

تقریبا میشود گفت شغل خوبی برای جاوااسکریپت در زمینه های موبایل، دسکتاپ، اینترنت چیزها، بازی ها، روباتیک، واقعیت مجازی و غیره  وجود ندارد.

بسیاری از زمینه ها همچون هوش مصنوعی، روباتیک، داده های بزرگ، اینترنت اشیاء، محاسبات ابری، مدل سازی و شبیه سازی علمی، واقعیت مجازی و غیره برای زبان جاوااسکریپت ناشناخته هستند و بجای جاوااسکریپت زبان های زیر استفاده میشود : 

 Java، Python، C / C ++، Go، Haskell و Julia .

 

دلیل ۵ :

جاوااسکریپت سینتکس یا قواعد دستوری روان و شیوایی دارد . 

 

 آیا میدانستید جاوا اسکریپت طبق آمار ۲۰۱۸ وب سایت stackoverflow در رتبه ی اول محبوب ترین زبان برنامه نویسی قرار دارد ؟ به این لینک سر بزنید  .

 

 

جمع بندی و سخن آخر : 

 

جاوااسکریپت یک زبان برنامه نویسی کامل میباشد که از شی گرائی پشتیبانی میکند و در ابتدا برای نوشتن برنامه های تحت وب سمت کلاینت کاربرد داشت اما در زمینه های دیگر نفوذ کرد مثلا در بازی سازی با انجین یونیتی شما میتوانید با کدهای javascript بخش هایی از بازی خود را کدنویسی کنید .

یا با react native میتوانید اپلیکیشن های موبایل تولید کنید 

فریمورک ها و کتابخانه های  زیادی برای جاوااسکریپت نوشته شده است که ممکن است اسم آنها را شنیده باشید و بسیار پر کاربرد هستند : 

  • فریمورک Vue.js
  • فریمورک React.js
  • فریمورک Angular.js
  • کتابخانه JQuery
  • و .

که همگی توسعه وب سایت را بسیار راحت تر کرده اند و ابزارهای بسیار عالی برای ساخت وب سایت های تک صفحه ای ، پویا و قدرتمند و سریع هستند . 

پس بعنوان یک برنامه نویس ، واجب است چنین زبانی را یاد بگیرید و یاد گرفتن آن هم با این همه قدرت و عظمت بسیار کار ساده ای است چون این زبان زیاد پیچیده نیست . 

 

اتمام مقاله 


مطالب زیر ممکن است برای شما مفید باشد

 چرا باید از Node.js استفاده کنیم ؟‌ ( بررسی کلی ) آیا گروه های برنامه نویسی مفید است ؟ 10 نکته کلیدی برای یادگیری برنامه نویسی چطور برنامه نویسی را شروع کنیم ؟ این ۸ چیر رو باید همه برنامه نویسا بدونن !

محصولات برگزیده مناسب شما

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی پروژه محور ساخت هتلداری با php mvc کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی

پایان


ریدایرکت 301 ( 301 Redirect ) چیست ؟

 

ریدایرکت ۳۰۱ برای تغییر مسیر دائمی یک url به یک url دیگر استفاده میشود . ریدایرکت ۳۰۱ ترافیک مربوط به یک url که ممکن است شامل بازدید کنندگان واقعی یا موتورهای جستجو از یک url خاص ( که در آدرس بار مرورگر خود تایپ کرده اند یا روی یکی از نتیجه های جستجوکلیک کرده اند )  را به یک url جدید منتقل میکند . 

من چند بار در سایت های مختلف دامنه را عوض کرده ام هر بار که این اتفاق میوفتد تقریبا فراموش میکردم تا ایمیل های مربوط به آن دامنه را نیز منتقل کنم این کار با انجام یک فوروارد ساده روی ایمیل انجام میگیرد مثلا تنظیم میکنید بجای info@samenta.ir ایمیل را به info@avasam.ir فوروارد کن . اینطوری ایمیل های مهمی که دریافت میکنید را هم از دست نمیدهید . 

ریدارکت ۳۰۱ برای حفظ کردن قدرت دامنه ی قبلی و همچنین رتبه در نتیجه ی جستجوهای اینترنتی ، مهم است .

ریدایرکت ۳۰۱ به راحتی کاربران و موتورهای جستجوگر را به یک آدرس جدید منتقل میکند بدون اینکه در این بین اتفاق خاصی بیوفتد یا انها از مسیر منحرف شوند یا نیاز به تایپ آدرس جدید شما در مرورگر خود را داشته باشند . 

در این مقاله ی آموزشی سعی میکنیم بصورت کامل درباره ی ریدایرکت ۳۰۱ (‌ ۳۰۱ redirect ) به شما آموزش دهیم تا بصورت کامل یاد بگیرید . 

 

ریدایرکت 301 ( 301 Redirect ) چیست ؟

خب همانطور که بالا هم توضیح دادیم ریدایرکت ۳۰۱ تغییر مسیر دائمی از یک Url خاص به یک Url جدید است . 

این ریدایرکت تقریبا Url های دیگر مشابه را نیز در بر میگیرد و به همین خاطر است که برای حفظ نتایج موتورهای جستجو یا Backlink های موجود در اینترنت مفید است بطوریکه با این کار Authority دامنه حفظ میشود . 

خب بیایید مثال عملی بزنیم تا این موضوع را بیشتر درک کنیم . 

در زیر دو عدد Url متفاوت مشاهده میکنید در صورتی که هر دو شما را به یک سایت منتقل میکنند و این کار به لطف وجود ریدایرکت ۳۰۱ است . 

  1. avasam.ir
  2. http://avasam.ir

زمانی که سایت را با http:// در ابتدای آن و یا بدون آن باز میکنید در هر صورت شما به avasam.ir منتقل میشوید این اتفاق بخاطر استفاده از ریدایرکت ۳۰۱ است . 

تنظیم کردن ریدایرکت ۳۰۱ برای حفظ رتبه ی سایت و قدرت سایت از بک لینک ها و پیوند های ورودی ضروری است . ما کل آدرس ها را به avasam.ir ختم کردیم تا دوگانگی ایجاد نشود و تمام مسیرها با  avasam.ir شروع شود . 

 

چرا باید از ریدایرکت 301 یا Redirect 301 در وب سایت استفاده کنیم ؟ 

 

دلایل اصلی و مهمی که بازاریابان اینترنتی از ریدارکت ۳۰۱ استفاده میکنند در زیر لیست کرده ایم . 

  1. برای یکسان سازی دامنه با دامنه هایی که ممکن است با http://, www و یا https:// شروع شوند . در هر صورت باید همه ی اینها به یک دامنه ی ختم شوند برای مثال avasam.ir و این باعث به حداکثر رساندن authority دامنه است . 
  2. هنگامی که برند یا نام دامنه عوض میشود برای مثال ما قبلا samenta.ir بودیم حالا شدیم avasam.ir اگر بخواهیم تمام ترافیک samenta.ir را داشته باشیم باید ریدایرکت 301 ایجاد کنیم .
  3. برای هدایت کردن ترافیک از دامنه هایی که برای یک برند یا سایت هستند . مثلا avasam.info و avasam.com را به avasam.ir ریدایرکت میکنیم که همگی یکجا جمع شوند . 

 

در سناریوی دوم ، اگر یک شرکت نام تجاری و برند خود را تغییر دهد مجبور به تغییر نام دامنه نیز است . در اینجا روی دامنه ی قدیمی یک ریدایرکت ۳۰۱ قرار میگیرد تا قدرت پیوند های ورودی حفظ شود و تماما به Url جدید منتقل شوند . 

علاوه بر این ریدایرکت ۳۰۱ باعث میشود کاربرانی که به یک Url خاص مراجعه میکنند و قصد دارند مثلا مطلب x را ببینند در سایت جدید نیز به مطلب x دسترسی دارند و دقیقا مشخص است به دنبال چه هستند . 

در سناریوی سوم ممکن است یک شرکتی از نام دامنه ی مشابه استفاده کند و یا دامنه های مشابه را خریداری نماید برای اینکه مطمئن شود کاربران با زدن نام دامنه های دیگر نیز دقیقا به آن Url در سایت قبلی ارجاع داده میشود یک ریدایرکت ۳۰۱ نیاز است . 

 

تفاوت بین ریدایرکت دائمی HTML و سایر ریدایرکت ها چیست؟

در حالت کلی ،‌  ریدایرکت از نوع ۳۰۱ برای سئو سایت خیلی بهتر است تا اینکه یک ریدایرکت موقتی ایجاد شود چون این نوع ریدایرکت تمام پیوندهای ورودی را به Url جدید عینا" ریدایرکت میکند و به وب سایت ها کمک میکنند تا رتبه ی خود در جستجوها را از دست ندهند و از هرگونه افت ترافیک جلوگیری شود . 

موارد کمی وجود دارد که یک تغییر مسیر موقت ۳۰۲ نسبت به یک تغییر مسیر دائمی ۳۰۱ بهتر باشد . برای مثال زمانی  که محتوای وب سایت باید بصورت موقتی منتقل شود یا زمانی که سایت در حال تعمیر و بروزرسانی است یا برای دریافت یک محتوا کاربران باید به سایت دیگری بروند .

 

باید و نباید ها در انجام ریدایرکت 301 ( Redirect 301 ) 

 

خب تا اینجای کار شما از اهمیت های ریدایرکت ۳۰۱ مطلع شدید در زیر راه کارهایی به شما ارائه میدهیم که در ساخت ریدارکت ۳۰۱ اشتباه نکنید تا سئو و رتبه ی سایت خود را از دست بدهید پس قدم های زیر را با دقت مطالعه کنید :

1 - یک ریدایرکت برای ادرس سایتتان با  http://  و با http://www انجام دهید 

زمانی که یک ریدایرکت ۳۰۱ بین Url هایی که در ابتدای آنها http و یا www قرار میگیرد موتورهای جستجو برای هر کدام از این Url ها یک رتبه بندی جدایی کنار میگذارد یعنی عملا با این کار رتبه ی کلی سایتتان را بین Url های تکراری تقسیم بندی میکنید که این اصلا برای سئو سایت شما خوب نیست . برای جلوگیری از این کار برای تمام مواردی از آدرس سایت خود که فکر میکنید بصورت تکراری است یک ریدایرکت ۳۰۱ ایجاد کنید . 

2 - بدون اینکه ریدایرکت 301 را درست نکردید به سایت جدید منتقل نشوید 

در سال ۲۰۱۰  شرکت Toys دامنه ی toys.com را خریداری کرد ولی فراموش کرده بودند که روی دامنه ی جدید ریدایرکت ۳۰۱ انجام دهند و همین مسئله باعث سقوط رتبه ی سئو سایت این شرکت شد چون سایت جدید آنها توسط گوگل دوباره بعنوان یک سایت و برند جدید ارزیابی شد بدون اینکه قدرت دامنه ی قبلی و اصلی شرکت و پیوندهای ورودی انها در نظر گرفته شود . پس مهم است قبل از اینکه محتوای سایتتان را به دامنه ی جدید منتقل کنید ابتدا یک ریدایرکت ۳۰۱ درست کنید و بعد محتوای قبلی را در ان دامنه قرار دهید تا موتورهای جستجو متوجه مهاجرت شما شده و رتبه ی قبلی خود را از دست ندهید . 

 

 


مطالب زیر ممکن است برای شما مفید باشد

 بک لینک ها و انواع آنها 8 راه سریع برای index صفحات شما توسط گوگل نوع فایل‌های تصویری مناسب وب در سال 2019 تگ های header را در سئو سایت دست کم نگیرید لینک های فالو (follow) در مقابل لینک های نوفالو (nofollow) در سئو سایت

محصولات برگزیده مناسب شما

 کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین کارگاه آموزشی کار با Grunt js

پایان


اگر کمی وب گردی کرده باشید متاسفانه میبینید که در سایت های ایرانی و فارسی زبان از تگ های Header استفاده نمیشود یا اشتباه استفاده میشود . 

تگ های h۱ ، h۲ و h۳ از تگ هایی هستند که اهمیت زیادی در سئو و بالا بردن رتبه ی سایت در نتایج جستجو ها مخصوصا جستجوگر گوگل دارند . 

 

چرا تگ های h1 ، h2 و h3 در سئو سایت اهمیت زیادی دارند ؟‌ 

 

یکی از فاکتورهای اصلی که یک جستجو گر سایت و صفحات شما را شناسایی میکند تگ های h۱ h۲ و  h۳ است . با این تگ ها ربات های موتور جستجو متوجه میشود که سایت شما درباره ی چیست .

موتورهای جستجو عناوینی که در داخل تگ های header قرار میگیرد را بعنوان مهم ترین بخش های سایت شما در نظر میگیرد . 

اهمیت تگ های header از تگ h۱ شروع میشود و مهم ترین تگ در صفحه ی شماست و حتما باید یک عدد در هر صفحه تعریف شود مثلا عنوان کلی یک خبر یا نام یک محصول . 

بعد از آن اهمیت تگ h۲ بیشتر است و به همین ترتیب h۳ و تا h۶ تگ داریم که سه تگ اول یعنی h۱ h۲ و h۳ مهم ترین تگ هایی هستند که موتورهای جستجوگر بررسی میکنند . 

تگ های header باید هم موضوع آن صفحه یا هدف اصلی آنرا بیان کنند . 

با وجود اینکه تگ های header در سئو سایت شما تاثیر فراوانی دارند ولی شما نمیتوانید در هر جای صفحه ی خود بدون نظم از آنها استفاده کنید . باید از کلمات کلیدی درست و به جایی استفاده کنید چون خزنده های موتور جستجو وقتی در صفحه ی سایت شما میگردد به دنبال تگ های header برای درک کلیت صفحه میگردد . 

 

نحوه ی استفاده ی صحیح از تگ های h1 , h2 و h3 

 

همانطور که بالا هم گفتیم تگ های header از h۱ شروع میشود و به ترتیب اهمیت تا h۶ به تعداد شش عدد تگ header داریم اما ما در این مقاله روی سه تگ header اول که اهمیت بالایی برای سئو دارند تمرکز میکنیم . 

اگر بخواهید رتبه ی سایت شما زیاد شود نباید در هر جایی از تگ های header استفاده کنید این تگ ها مکان های مناسبی در صفحه ی شما دارند باید آنها را شناسایی کنید و به درستی استفاده کنید . 

تگ h۱ باید شامل کلمات هدفمند باشد ، باید کپی عنوان صفحه یا مشابه آن باشد و به محتوای آن صفحه مربوط باشد . 

تگ h۲ را میتوان بعنوان subheading تعبیر کرد و بعنوان یک زیرنویس برای توضیحات کمی بیشتر برای تگ h۱ باید باشد . 

و تگ h۳ را هم میتوان بعنوان subheading تگ h۲ حساب کرد و این سه براساس سلسه مراتب اهمیت از بالا به پایین در نظر گرفته میشوند . 

این نکته را همیشه در نظر داشته باشید که این سه تگ باید با کلمات صحیح از نظر قواعد و نگارش نوشته شود و کاملا خوانایی داشته باشد . 

اگر سعی کنید کلمات بیشتر در تگ های header استفاده کنید یا تعداد header ها را بیش از حد مورد نیاز فقط برای اینکه رتبه ی سایت شما زیاد شود گوگل این را میفهمد و شما را جریمه میکند این کار را هرگز انجام ندهید . 

 

یک مثال برای استفاده ی صحیح از تگ های h1 ، h2 و h3 در سایت برای بهبود سئو 

 

همین مطلب که مطالعه میکنید را در نظر بگیرید . ما در این صفحه تگ ها را به ترتیب زیر تعریف کردیم :‌

  • برای تگ h1 = تگ های header را در سئو سایت دست کم نگیرید که عنوان سایت است و یکبار نوشته شده است 
  • برای تگ h2 = چرا تگ های h1 ، h2 و h3 در سئو سایت اهمیت زیادی دارند ؟‌ که بعنوان توضیح کلی درباره ی این مقاله است و مشابه عنوان صفحه است 
  • برای تگ های h3 = سر تیتر هایی که در هر پاراگراف به آن موضوع اشاره میکند مثلا یک مثال برای استفاده ی صحیح از تگ های h1 ، h2 و h3 در سایت برای بهبود سئو 

 

همانطور که میبینید من از عنوان صفحه که از همه چیز مهم تر است و همچنین به کل موضوع اشاره دارد در تگ h۱ استفاده کردم . تگ h۲ کمی اهمیت کمتری نسبت به h۱ دارد ولی در کل به موضوع اصلی و چیزی که در این مطلب یاد میگیرید بصورت کلی به شما بازگو میکند و تگ های h۳ هم که بعنوان سرتیتر هر بخش و در هر پاراگراف ممکن است قرار بگیرد .

آموزش استفاده از تگ های h1 h2 و h3 برای سئو سایت - تعداد استفاده از h1 و h2 و h3 برای بهبود سئو سایت

تعداد استفاده از تگ های h1 ، h2 و h3 در صفحه برای بهبود سئو سایت 

 

بصورت فنی شما هیچ محدودیتی در تعداد استفاده از این تگ ها در سایت خود ندارید اما این نکته خیلی مهم است که بدانید موتور جستجو اگر با چند h۱ مواجه شود دچار سردرگمی میشود و دقیقا متوجه نمیشود عنوان اصلی سایت شما چیست پس بهتر است 

  • تگ h1 فقط یک عدد استفاده شود و به موضوع کلی صفحه مثل title صفحه اشاره کند ( وما نباید همان title صفحه باشد )
  • تعداد تگ h2 به موضوعات کلی صفحه اشاره میکند در این مقاله چون موضوع ما یک عدد بود پس تگ h2 هم یک عدد و آن هم مشابه به title صفحه ی ما و تگ h1 بود درحالیکه اگر در این مقاله به سه موضوع کاملا متفاوت از هم پرداخته بودیم باید برای هر کدام یک تگ h2 استفاده میکردیم 
  • تعداد تگ های h3 هم میتواند نامحدود باشد و به ازای هر بخش کوچک یا پاراگراف میتوانید یک عدد h3 بگذارید .

در هر صورت استفاده ی صحیح از تگ های header در بهبود سئو سایت شما و بالا رفتن رتبه ی سایت شما در نتایج گوگل میشود پس این مقاله را با دقت بخوانید و برای سئو سایت خود اجرا کنید 

و در نهایت کدهای Html زیر مثالی برای استفاده از این تگ هاست :‌

		
<h1 aria-level="1"><code>h1</code> - <code>h6</code> elements</h1>
<h2><code>h1</code> - <code>h6</code> elements without aria-level</h2>

		<h1>h1 heading</h1>
		<h2>h2 heading</h2>
		<h3>h3 heading</h3>
		<h4>h4 heading</h4>
		<h5>h5 heading</h5>
		<h6>h6 heading</h6>

		<h2>Code</h2>
		<pre><code>&lt;h1&gt;h1 heading&lt;/h1&gt;
&lt;h2&gt;h2 heading&lt;/h2&gt;
&lt;h3&gt;h3 heading&lt;/h3&gt;
&lt;h4&gt;h4 heading&lt;/h4&gt;
&lt;h5&gt;h5 heading&lt;/h5&gt;
&lt;h6&gt;h6 heading&lt;/h6&gt;</code></pre>

<h2><code>h1</code> - <code>h6</code> elements with aria-level</h2>

		<h1 aria-level="1">h1 heading</h1>
		<h2>h2 heading</h2>
		<h3 aria-level="3">h3 heading</h3>
		<h4 aria-level="4">h4 heading</h4>
		<h5 aria-level="5">h5 heading</h5>
		<h6 aria-level="6">h6 heading</h6>

		<h2>Code</h2>
		<pre><code>&lt;h1 aria-level="1"&gt;h1 heading&lt;/h1&gt;
&lt;h2&gt;h2 heading&lt;/h2&gt;
&lt;h3 aria-level="3"&gt;h3 heading&lt;/h3&gt;
&lt;h4 aria-level="4"&gt;h4 heading&lt;/h4&gt;
&lt;h5 aria-level="5"&gt;h5 heading&lt;/h5&gt;
&lt;h6 aria-level="6"&gt;h6 heading&lt;/h6&gt;</code></pre>

تمام.


مطالب زیر ممکن است برای شما مفید باشد

 ریدایرکت 301 چیه و کی باید ازش استفاده کرد آموزش ساخت وب سایت بدون دانش برنامه نویسی ( وردپرس ) بک لینک ها و انواع آنها لینک های فالو (follow) در مقابل لینک های نوفالو (nofollow) در سئو سایت 8 راه سریع برای index صفحات شما توسط گوگل

محصولات برگزیده مناسب شما

 کارگاه آموزش کار با تگ های header برای بهبود سئو کارگاه آموزشی کار با ریسایکلر ویو در زبان کاتلین دوره ی آموزش لینوکس اوبونتو کارگاه آموزش کار با API های اینستاگرامی

پایان


جانگو یا لاراول - django vs laravel

جانگو یا لاراول ؟ 

 

تفاوت میان جانگو ( Django ) و لاراول ( Laravel )

 

Django یک فریمورک متن باز برای توسعه ی  وب  است که با زبان برنامه نویسی Python نوشته شده است . در Django الگوی طراحی بر اساس MVT که مخفف Model View Template است پیاده سازی شده است . 

Django برای طراحی برنامه های تحت وب پیچیده استفاده میشود . 

 Laravel یک فریمورک متن باز برای توسعه ی وب است که با زبان برنامه نویسی PHP نوشته شده است . الگوی طراحی بر اساس MVC که مخفف Model View Controller است پیاده سازی شده است .

Laravel عملکردهای غنی دارد که مشابه Ruby on Rails است و همچنین شما میتوانید از Laravel برای ساخت سیستم مدیریت محتوا یا همان CMS استفاده کنید . 

 

جانگو ( Django ) چیست ؟

 

فریمورک Django توسط بنیاد نرم افزاری Django تولید شده است و برای اولین بار در سال ۲۰۱۵ منتشر شد . 

فریمورک Django بر اساس لایسنس  ۳-clause BSD میباشد .

Django در برخی وب سایتهای مشهور ، مانند Mozilla، Instagram، Bitbucket، Pinterest و غیره ، مورد استفاده قرار می گیرد.

وظیفه توسعه و نگهداری و بروزرسانی های این فریمورک توسط بنیاد نرم افزاری Django انجام میگیرد . 

Django سبک است و  یک ویژگی مستقل با هدف توسعه و تست پروژه ها دارد .

هدف اصلی فریمورک Django این است توسعه اپلیکیشن های تحت وب پیچیده را آسانتر کند تا در مدت زمان کمی توسعه داده شوند . 

 

لاراول ( Laravel ) چیست ؟‌

 

فریمورک Laravel توسط Taylor Otwell ساخته شده است که تحت لایسنس MIT منتشر شده است . اولین نسخه ی Laravel در تاریخ ۲۰۱۱ منتشر شد . 

پیش نیاز یادگیری Laravel  فهمیدن پایه ی زبان برنامه نویسی Php است . 

Laravel میتواند بعنوان یک سیستم مدیریت محتوا یا CMS استفاده شود .

Laravel امکاناتی خوبی برای پیاده سازی سایت های با ترافیک بالا دارد .

امکانات و ویژگی های فریمورک Laravel باعث سرعت توسعه و صرفه جویی در وقت و زحمت توسعه دهندگان وب میشود . 

Laravel امکانات خوبی برای پیاده سازی یک سایت از صفر دارد که کار را بسیار راحت میکند .

 

خب بعد از اینکه با Laravel و Django آشنا شدیم بریم که ببینیم این دو فریمورک چه تفاوت هایی با هم دارند . 

مقایسه کلیدی بین Laravel و Django 

 

 

  1. Django یک فریمورک سطح بالا برای توسعه ی وب است که با زبان برنامه نویسی Python تولید شده است که با راه کار clean design باعث افزایش سرعت توسعه میشود در حالیکه Laravel هم یک فریمورک برای توسعه ی وب است که با زبان برنامه نویسی Php تولید شده است و دارای syntax زیباست  . امکانات متفاوتی در Laravel مثل سیستم Routing ، Session ، Authentication و Caching وجود دارد . 
     
  2. Django توسعه سریع را فراهم میکند ، جامعه ی بزرگی از توسعه دهندگان را دارد ،‌پکیج های زیادی دارد ، برای یادگیری آسان است و کتابخانه های خوبی دارد و Laravel هم توسعه ی سریع را فراهم میکند ، از وابستگی ها استفاده میکند ، پکیج های خوبی دارد ، از الگوی طراحی MVC استفاده میکند و جامعه ی رو به رشدی از برنامه نویسان وب دارد و .
     
  3. Django موارد منفی دارد که پشتیبانی نشده و یا عملکرد بهتری ندارند مثل مدیریت URL ها ، ORM ضعیف و مشکلات کامپوننت های داخلی فریمورک ولی در Laravel موارد منفی کمتر است . 
  4. Django دارای middleware های زیادی است در حالیکه Laravel تنها برای درخواست های HTTP دارای middleware است . Django کمی سریعتر است ، به این خاطر که از زبان پایتون استفاده میکند و پایتون کمی سریعتر از Php است . 
  5. Django دارای ابزارهای زیاد درونی مثل decorators, SEO tools و کتابخانه های جانبی است در حالیکه Laravel ابزارهای ساده تری درون خود دارد ولی قابل افزودن است . 
  6. کامپوننت های Django سبک هستند و دارای سیستم serialization و validating هستند که در بین فرم ها و پایگاه داده نقش بازی میکنند در حالی که Laravel از Composer استفاده میکند تا کتابخانه ها و وابستگی های مورد نیاز را فراخوانی کند این اطلاعات درون فایل composer.json  قرار میگیرد .
  7. Django از سیستم ORM یا Object Relational Mapping استفاده میکند تا یک واسط بین پایگاه داده و اپلیکیشن ایجاد کند تا بطور موثر بتواند روی پایگاه داده کار کند در حالیکه در Laravel از سیستم query builder و ORMتوسط پیاده سازی  active record استفاده میکند . 
  8. Django از چند زبانه بودن سایت پشتیبانی میکند این کار توسط سیستم داخلی بین المللی سازی Django انجام میگیرد در حالیکه Laravel شامل namespace ها و interface های مختلف برای استفاده و سازمان دهی منابع دارد . 
  9. Django دارای رابط کاربری برای Administrator یا مدیریت task ها و اکتیویتی های مختلف است درحالیکه Laravel سیستم authentication و مکانیسم template engine  وجود دارد که میتوانید layout های مختلف با محتواهای مورد نظر ایجاد کنید 
  10. Django فریمورک های مختلفی مانند Ajax, Caching, RSS (Rich Site Summary) feeds را پشتیبانی میکند در حالیکه Laravel سیستم های مدیریت تنظیمات ، مسیریابی ( routing ) و تست را دارد .

 

جدول مقایسه ی Django و Laravel  

 

در جدول زیر سعی کردیم پرفرمنس Django و Laravel را مقایسه کنیم :‌

عنوان مقایسه فریمورک Django فریمورک Laravel
تعریف یک فریمورک فول استک برای وب که با Python نوشته شده است . یک فریمورک فول استک برای وب که با Php نوشته شده است . 
نگهداری توسط بنیاد نرم افزاری Django پشتیبانی و نگهداری میشود . توسط توسعه دهنده و جامعه ی توسعه دهندگان Laravel نگهداری میشود و تحت مجوز MIT است .
الگوی طراحی Model View Template (MVT) Model View Controller (MVC)
پلتفرم  کراس - پلتفرم است. کراس - پلتفرم است .
عمومی دارای ابزارهای توسعه سریع است و جامعه ی عالی برنامه نویسان دارد . طراحی تمیزی دارد و دارای انجمن کاربران رو به رشد است .
مقیاس پذیری از مقیاس پذیری بالایی برخوردار است .  Laravel نیز از مقیاس پذیری بالایی برخوردار است و تنها تفاوتش زبان برنامه نویسی این فریمورک است .
استاندارد سازی بر اساس انجمن بزرگی از توسعه دهندگان  انجمن توسعه دهندگان
سازگاری فریمورک های زیاد دیگری نیز برای Python وجود دارد تنها فریمورک قدرتمند که برای Php مطرح است .

 

نتیجه گیری - بلاخره Django یا Laravel 

 

بعد از کلی تحقیق و مطالعه به این نتیجه رسیدیم که تفاوت اصلی میان Django و Laravel این است که Django از زبان برنامه نویسی Python بهره میگیرد در حالیکه Laravel از زبان برنامه نویسی Php .

جوانب مثبت و منفی ریز بسیاری وجود دارد که ممکن است Laravel را برتر از Django یا برعکس نشان دهد ولی در کل پرفرمنس یکسانی دارند و نمیشود گفت کدام یک بر دیگری برتری دارد . 

از نظر مقیاس پذیری ، توسعه آسان تر ، نگهداری و آزمایش آسانتر  Django کمی بهتر است . 

همچنین زبان برنامه نویسی Python نسبت به Php سرعت توسعه ی بالاتر و آسانی بیشتری دارد که ممکن است همین مسئله باعث شود فکر کنید Django بهتر است . 

شاید Django کمی از نظر پرفرمنس و سرعت توسعه بهتر از Laravel باشد ولی کاری نیست که در Django بتوانید ولی در Laravel  نه . 

پس بسته به شرایط خود اینکه چه زبانی را بیشتر کار کردید اگر Php را کار کردید Laravel را انتخاب کنید ولی اگر قبلا با Python کار کردید بهترین گزینه برای شما Django است . 

تمام .

 


مطالب زیر ممکن است برای شما مفید باشد

 کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی آموزش ساخت سیستم ثبت نام در PHP و پایگاه داده MySQL لاراولی کوچک با طعم جدید - میکروفریمورک Lumen احراز هویت با لاراول 6 مفاهیم موتور جستجو و آموزش ساخت موتور جستجو با PHP

محصولات برگزیده مناسب شما

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل فریمورک لاراول Laravel دوره ی جامع زبان پایتون ( python )‌ کارگاه آموزشی کار با ریسایکلر ویو در زبان کاتلین

پایان


سیستم ثبت نام و ورود کاربران با لاراول نسخه ی 6 

 

در این آموزش به سیستم احراز هویت لاراول نسخه ی ۶ بپردازیم . سیستمی که در آن عمل ثبت نام کاربران ، ورود و خروج و بازیابی پسورد ساخته میشود . 

قبل از اینکه این آموزش را شروع کنید مطمئن شوید یک نسخه ی جدید از لاراول را نصب کرده اید و سرور آنرا استارت کرده اید با php artisan serve و سپس در localhost:۸۰۰۰ پروژه ی جدید لاراول خود را مشاهده میکنید . 

در نسخه ی ۶ لاراول سیستم احراز هویت کاربران به داخل یک پکیج دیگری به نام Laravel/UI انتقال داده شده است و برای استفاده از سیستم احراز هویت باید ابتدا این پکیج را نصب کنید . 

از طریق دستورات زیر در ترمینال یا cmd میتوانید این بسته را نصب کنید :‌

نکته : در ترمینال یا cmd حتما به محل نصب پروژه ی خود بروید .

composer require laravel/ui

بعد از زدن این دستور اینتر را بزنید و سپس نتیجه ی خروجی در ترمینال شما باید به شکل زیر باشد 

Using version ^1.0 for laravel/ui
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing laravel/ui (v1.0.1): Downloading (100%)
Writing lock file
[.]

سپس میتوانید دستور زیر را در ترمینال وارد کنید 

php artisan ui vue --auth

و خروجی این دستور نیز طبق زیر خواهد بود 

Vue scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfull

شما باید این دستورات را در ترمینال وارد کنید تا یک سیستم احراز هویت کامل به همراه رابط کاربری آن ساخته شود که شامل بخش های ثب نام ، ورود و بازیابی رمز عبور است  . 

view ها و route  های احراز هویت باید به پروژه ی لاراول شما اضافه شده باشد . همچنین یک کنترلر به نام HomeController باید ساخته شود که احراز هویت را کنترل کند . 

دستور php artisan ui vue --auth ویوهای ضروری را میسازد و در مسیر resources/views/auth قرار میدهد . 

دستور ui هم مسیر resources/views/layouts را میسازد که قالب پایه ی پروژه را بر مبنای فریمورک سی اس اس  به نام بوت استرپ ، میسازد . 

خب حالا که این سیستم بصورت خودکار ساخته شده کاربر میتواند ثبت نام کند ،‌سپس وارد سیستم شود و خارج شود ، اگر رمز خود را فراموش کرد بازیابی رمز را بزند . 

کنترلر مربوط به احراز هویت که ساخته شده است منطق ثبت نام و احراز هویت کاربران را برای ما انجام میدهد زمانی که یک کاربر جدید ثبت نام میکند کاربر جدیدی را در پایگاه داده نیز میسازد . خب شما عملا هیچ کار خاصی برای سیستم احراز هویت و ثبت نام نباید انجام بدهید و تنها کاری که باید انجام بگیرد کاستوم کردن یا اختصاصی کردن آن است که بحث دیگریست . 

ثبت نام کاربران با لاراول 

حالا اگر در مرورگر خود بزنید http://localhost:۸۰۰۰/register باید سیستم ثبت نام کاربر برای شما بالا بیاد . 

آموزش ساخت ثبت نام با لاراول 6

ورود کاربران با لاراول

حالا اگر در مرورگر بزنید : localhost:۸۰۰۰/login تصویر زیر باید برای شما نمایش داده شود 

آموزش ساخت سیستم ورود کاربران در لاراول ۶

فراموشی رمز عبور کاربران در لاراول

و در آدرس http://localhost:۸۰۰۰/password/reset باید شکل زیر باشد :‌

آموزش ساخت سیستم ثبت نام و ورود با لاراول ۶

همانطور که مشاهده میکنید view ها ساخته شده هیچ گونه استایلی ندارند . شما میتوانید view ها را با استفاده از نصب وابستگی های مورد نیاز دستکاری کنید 

$ npm install
$ npm run dev

اگر شما خطای Unhandled rejection Error: EACCES: permission denied  را دارید شما باید دسترسی لازم را با استفاده از دستور sudo بدهید : 

$ sudo npm install 
$ sudo npm run dev

حالا رابط کاربری و استایل view ها بهتر شد تصویر زیر را ببینید :‌

آموزش ساخت سیستم ثبت نام و ورود کاربران با لاراول

vدر این سیستم اگر شما ثبت نام کنید بصورت خودکار لاگین میشوید و به صفحه ی اصلی منتقل میشوید همان مسیر /home که در کنترلر HomeController وجود دارد . 

سیستم ثبت نام و ورود با لاراول

برای دیدن route های ایجاد شده به مسیر routes/web.php بروید محتویات این فایل باید شکل زیر باشد :‌

<?php

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

در کد های بالا متد Auth::routes() را مشاهده میکنید این متد شامل تمام route های مورد نیاز مثل login, registration, logout و password reset است .

این متد زمانی به فایل web.php اضافه شد که شما دستورات نصب و راه اندازی سیستم auth لاراول را در ابتدای این مقاله وارد کردید . 

 

LoginController ،  RegisterController و ResetPasswordController در لاراول 

 

لاراول سه کنترلر آماده میکند که نام آنها LoginController, RegisterController و ResetPasswordController است . اینها کنترلرهای اصلی برای ثبت نام ، ورود و بازیابی پسورد هستند که شما میتوانید این کنترلرها را در مسیر app/Http/Controllers/Auth پیدا کنید و آنها را شخصی سازی کنید . 

 

چطور بخش هایی از سایت را برای کاربران نمایش دهید ( محدودسازی بخشی سایت فقط برای اعضا ) 

 

یکی از دلایل اصلی که سیستم ثبت نام و ورود در سایت ها پیاده سازی میشود این است که بخشی از وب سایت فقط برای کاربران وارد شده نمایش داده شود . در لاراول نیز شما میتوانید route های خود را محدودسازی کنید تا این مسیرها فقط برای کاربران قابل نمایش باشد نه همه 

برای این کار در لاراول شما باید از middelware ها کمک بگیرید . 

 

لاراول برای احراز هویت middleware دارد به نام auth که در مسیر Illuminate\Auth\Middleware\Authenticate قرار گرفته است . همچنین در سیستم HTTP هسته ی پروژه نیز ثبت شده است . 

شما میتوانید به راحتی از آن استفاده کنید تا هر بخشی که دوست دارید فقط به کاربرانی که وارد سیستم شده اند نمایش داده شود نه بقیه .

خب بیایید بررسی کنیم که صفحه ی اصلی چطور محافظت شده است و طبق این مثال باقی قسمت ها را نیز محافظت سازی کنیم . 

فایل app/Http/Controllers/HomeController.php را باز کنید محتویات این فایل باید مثل زیر باشد : 

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{

    public function __construct()
    {
        $this->middleware('auth');
    }
    public function index()
    {
        return view('home');
    }
}

در کدهای بالا در متد __construct شما میبینید که middleware فراخوانی شده است و مقدار auth به معنای اینکه ما middleware مربوط به auth را نیاز داریم ارسال شده است .

middleware ها میتوانند درون کنترلر یا در route ها ضدا زده شوند . خب حالا فایل routes/web.php را باز کنید و route مربوط به /home را به شکل زیر بروزرسانی کنید : 

Route::get('/home', 'HomeController@index')->name('home')->middleware('auth');

 

نتیجه گیری :‌

 

خب در این آموزش با نحوه ی پیاده سازی سیستم auth لاراول آشنا شدید سیستمی که بصورت خودکار تمام چیزهایی که برای ثبت نام ، ورود و فراموشی رمز عبور کاربران نیاز است . 

شما میتوانید این سیستم را کاملا شخصی سازی کنید و هر چیزی که نیاز دارد به آن اضافه کنید یا بخش هایی را ویرایش کنید . 

یا شما میتوانید کلا از این سیستم استفاده نکنید چون این سیستم چیزی نیست جز یک سری کدهای آماده نوشته شده که آنها را خودتان هم میتوانید بنویسید ولی باید کمی زحمت بیشتری بکشید . 

ضمنا با استفاده از این پکیج استانداردهای مورد نیاز را درک میکنید و اگر بخواهید سیستم اختصاصی احراز هویت بنویسید حداقل الان میدونید باید چیکار کنید ! 

خب اگر قبلا با لاراول کار کرده باشید میبینید که سیستم auth در نسخه ی ۶ لاراول کمی تفاوت داشت :

 

  • در نسخه ی 6 لاراول route ها و view ها در داخل پکیج laravel/ui قرار گرفته است که باید از طریق composer نصب کنید 
  • دستور php artisan ui vue --auth با دستور php artisan make:auth جایگزین شده است 

 

اتمام مقاله 


مطالب زیر ممکن است برای شما مفید باشد

 دیباگ کردن پروژه های لاراولی با Laravel Debugbar لاراولی کوچک با طعم جدید - میکروفریمورک Lumen کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی چند داشبورد مدیریتی آماده برای لاراول جانگو یا لاراول ؟ برنامه نویسان وب بخوانند

محصولات برگزیده مناسب شما

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی طلایی لاراول 6 دوره ی آموزش کامل فریمورک لاراول Laravel دوره ی آموزش پروژه محور ساخت دیجیکالا به همراه اپ و سورس کامل

پایان


شاید وب سایت های محتوایی را دیده باشید که یک آی مخصوص مطالعه در شب دارند با کلیک کردن روی آن ظاهر سایت به حالت تیره تبدیل میشود و خواندن متن در شب را آسان تر میکند. 

و همچنین با کلیک کردن دوباره روی آن گزینه به حالت روز بازگشته و قالب روشن سایت فراخوانی میشود .

این چیزی نیست که فقط در وب سایت ها باشد بلکه امروز در اکثر اپلیکیشن ها هم مشاهده میشود که حالت روز و شب داخل خود دارند و ممکن است برای سایت های محتوایی که کاربران قراره یک متن نسبتا طولانی را بخوانند بسیار مفید است . 

 

آموزش اضافه کردن حالت روز و شب به وب سایت 

 

ممکن است ابتدا تصور کنید که اضافه کردن یک حالت دوگانه رنگی به وب سایت زیاد مهم نیست ولی باید بدانید یکی از کلیدی ترین نکات برای ارتقا رتبه و محبوبیت وب سایت شما است مخصوصا اگر در سایتتان بخش وبلاگ ، اخبار یا نوشته های طولانی دارید که قراره کاربر برای مطالعه ی آنها مدت زمانی را صرف بکنه پس پیاده کردن این امکان به وب سایت شما اعتبار بیشتری خواهد داد . 

 

برای اضافه کردن حالت شب و روز به سایت یا حالت روشن و تیره به سایت

 

  1. باید کلاس های css برای حالت شب به فایل css خود اضافه کنید
  2. باید با استفاده از جاوا اسکریپت کدهای css حالت تیره یا شب را به صفحه ی خود تزریق کنید
  3. در صورت اینکه صفحه ی جاری تیره یا شب است به حالت روشن یا روز تغییر پیدا کند و برعکس ( toggle mode )

 

نمونه کد اضافه کردن حالت شب و روز به وب سایت 

 

خب برای نمونه من در سایت کدپن امروز کمی کدنویسی کردم و چون قالب مثال ما یکم شکل و شمایل به خودش بگیره من از bulma استفاده کردم البته bulma فقط برای اینه که طرح قالبمون یکم شیک باشه وگرنه نیازی بهش نیست . 

خب بعد از اضافه کردن bulma چند تا دکمه ی و متن و نوتیفیکشن و اینپوت قرار دادم که کدهاش در بخش HTML به شکل زیره :‌

<body id="body">
  <h1 class="title">حالت روز و شب سایت</h1>
   کافیه رو این دکمه کلیک کنید
  <a class="button is-danger"
     name="dark_light" onclick="toggleDarkLight()" >شب / روز</a>
  <hr>
  
  <a class="button is-primary">button </a>
  <a class="button is-success">button</a>
  <a class="button is-danger">button</a>
  <a class="button is-warning">button</a>
  <a class="button is-link">button</a>
  <hr>
 <div class="notification is-primary">
  primary notificaiton
  </div>
   <div class="notification is-danger">
  danger notificaiton
  </div>
   <div class="notification is-success">
  success notificaiton
  </div>
   <div class="notification is-link">
  link notificaiton
  </div>
  
<input type="text" placeholder="enter name" class="input">
</body>
  

 

در کدهای بالا بجز بقیه موارد که مهم نیستند یک قسمت مهمه و اونم تگ a هست که خاصیت name اون dark_light است این دقیقا همون دکمه است که باید رخداد تغییر تم روشن به تیره و یا تیره به روشن را هنگام کلیک شدنش انجام بدیم 

تغییر کدها کار جاوا اسکریپته 

کدهای زیر را نگاه کنید تا توضیح بدیم ؛ 

function toggleDarkLight() {
  var body = document.getElementById("body");
  var currentClass = body.className;
  body.className = currentClass == "dark-mode" ? "light-mode" : "dark-mode";
}

در کدهای بالا ما اومدیم یک تابع به نام toggleDarkLight تعریف کردیم که کارش تغییر قالب تیره به روشن و برعکس است . 

بعد اومدیم کل body یعنی کل قالب را گرفتیم هر چیزی که در صفحه است . 

بعد یک متغیر به نام currentClass برای اینکه مشخص کنیم کلاسی که الان ازش استفاده میکنیم برای حالت تیره است یا روشن تعریف کردیم 

و سپس گفتیم اگر نام کلاس ما dark-mode بود به light-mode تغییر بده و اگر dark-mode نبود به dark-mode تغییرش بده 

یعنی بررسی میکنه میبینه که اگر کلاس استفاده شده dark-mode بود اون رو light-mode میکنه و برعکس 

خب حالا وقت این رسیده که از کلاس های dark-mode و light-mode در بخش css استفاده کنیم . 

body
{
  direction:rtl;
  padding:10px;
}
body.dark-mode {
	 background-color: #111;
	 color: #eee;
}
 body.dark-mode a {
	 color: #111;
}
 body.dark-mode button {
	 background-color: #eee;
	 color: #111;
}
 body.light-mode {
	 background-color: #eee;
	 color: #111;
}
 body.light-mode a {
	 color: #111;
}
 body.light-mode button {
	 background-color: #111;
	 color: #eee;
}
body.dark-mode .button {
  background-color:grey !important;
  color:#000 !important;
}
body.dark-mode .notification {
  background-color:grey !important;
  color:#fff !important;
}
body.dark-mode .title {
  color:#fff !important;
}
body.dark-mode .input {
   background-color:grey !important;
  color:#fff !important;
}

در کدهای بالا از پرچم !important به این خاطر استفاده شده که روی تمام کدهای css  که از قبل وجود داشت اعمال بشه 

در پروژه ی ما هر کلاسی که وجود داشت اگر بخوهیم کدنویسی dark-mode یا قالب تیره براش انجام بدیم مشابه کد زیر انجام میدیم : 

body.dark-mode نام کلاس یا ایدی یا تگ  {
   کدهای سی اس اس برای زمان انتخاب قالب تیره

}

و برعکس برای زمانی که قالب روی حالت روشن یا روز است از کد زیر میتوانیم استفاده کنیم :‌

body.light-mode نام کلاس یا ایدی یا تگ  {
   کدهای سی اس اس برای زمان انتخاب قالب تیره

}

در لینک زیر میتونید سورس کد و نمونه ی انلاین این آموزش را مشاهده کنید : 

 

https://codepen.io/abasnikzad/pen/NWWvEWP

 


لومن بعنوان یک پروژه ی جدید توسط سازنده ی اصلی لاراول یعنی Taylor Otwell ساخته شده است . Taylor Otwell گفته که این فریمورک یک میکرو-فریمورک است یعنی سایزش کوچکتر است ، سرعتش بیشتر است و یک نسخه ی ظریف از فریمورک کامل laravel است . 

البته برای زبان برنامه نویسی php دو میکروفریمورک دیگر هم وجود دارد که نام آنها Slim و Silex است .

 

فریمورک Lumen چیست - میکروفریمورک lumen لاراول

لومن بر پایه ی فریمورک قدرتمند و محبوب لاراول است و بسیاری از اجزای لاراول را استفاده میکند . 

lumen در سال ۲۰۱۵ بعنوان یک فریمورک اوپن سورس زبان php معرفی شد و هدف اصلی این فریمورک ساخت میکروسرویس ها و API های خیلی سریع است . 

lumen در اصل یک میکروفریمورک یا micro-framework است و اساسا برای سرعت بخشی به پروژه ها ساخته شده است . 

lumen سریعتر از دو فریمورک میکرو-سرویس زبان php به نام های Slim و Silex است . 

براساس آزمایشی که خود Taylor Otwell انجام داده است ، میکروفریمورک های php از نظر سرعت به ترتیب زیر هستند :‌

  1. Lumen — 1,700 requests per second
  2. Slim — 1,250 requests per second
  3. Silex — 950 requests per second

و همانطور که میبینید Lumen سریعتر از  Slim و آن هم سریعتر از Silex است . 

 

- برخی از ویژگی های مهم میکرو-فریمورک Lumen : 

  • Lumen سرعت بسیار بالایی داره
  • Lumen کدنویسی بسیار راحت یا بهتره بگیم Syntax ساده ای داره 
  • Lumen را هر زمانی بخواهید میتونید به لاراول کامل ارتقا بدید
  • Lumen میتونه درخواست های بیشتری را در هر ثانیه نسبت به دیگر فریمورک های php انجام بده
  • سیستم Routing : لومن از سیستم Fast Route استفاده میکنه که یه کتابخانه است که میتونه route های براساس Regex را سریعا پیاده سازی بکنه 
  • سیستم Lumen event  کمک میکنه تا به رویدادهای اپلیکیشن خود بپردازید و آنها را مدیریت کنید 
  • سیستم Authentication : در لومن از سشن های عادی برای احراز هویت استفاده نمیشه یک مکانیسم ویژه مثل استفاده از توکن ها برای احراز هویت در لومن استفاده میشه
  • سیستم Caching : همانند laravel ، لومن هم سیستم کشینگ داره ، بین سیستم کش لاراول و لومن تفاوتی خاصی وجود ندارد . در lumen درایور های کش مانند Database, Memcached و  Redis پشتیبانی میشود . 
  • سیستم خطاها و لاگ : در lumen از کتابخانه ی Monolog برای کنترل کردن خطاها و لاگ ها استفاده میشود . 
  • سیستم queuing : که همانند سیستم queuing خود لاراول است . 

 

لاراول یا لومن - laravel یا lumen

- تفاوت بین Laravel و Lumen :

 

  1. laravel یک فریمورک کامل برای توسعه ی وب است ولی lumen یک میکرو-فریمورک سریع برای ساخت micro-service است که بر پایه ی زبان PHP و برای ساخت اپلیکیشن های تحت وب است . 
  2. lumen تخصصی تر است که برای توسعه ی Micro-services و API ها کاربرد دارد پس بسیاری از چیزهای Laravel مثل سشن ها ، کوکی ها و تمپلیت ها در آن وجود ندارد lumen سعی کرده است چیزهای ضروری را نگهداری کند مثل routing, logging, caching, queues, validation, error handling  و خیلی چیزای مشابه دیگر

 

- نیازمندی های کلیدی Lumen : 

 

برای Lumen شما باید مطمعن شوید سرویس شما شرایط زیر را دارد :‌

  1. مطمئن شوید PHP روی ماشین شما نصب است و همچنین Lumen یک سری افزونه های php را نیاز دارد مثل OpenSSL, PDO و Mbstring .
  2. برنامه ی مدیریت بسته های php به نام Composer باید نصب کنید . برای نصب کامپوزر به سایت getcomposer.org بروید و براساس سیستم عامل خودتان دانلود و نصب کنید .
  3. برای کار با Lumen باید با مفاهیم پایگاه داده و زبان PHP آشنا باشید . 

آموزش نصب کردن Lumen

- نصب Lumen : 

 

دو راه برای ساختن پروژه ی Lumen وجود دارد :‌

 

  1. با استفاده از نصب کننده ی Lumen 
    خب ابتدا نصب کننده ی Lumen را توسط Composer دریافت کنید :‌
     Composer global require Laravel/Lumen-installer”​
    خب حالا که نصب کننده ی Lumen دانلود شده میتونید با دستور زیر یک پروژه جدید به نام blog  بسازید :‌
    Lumen new blog​

     
  2. با استفاده از دستور Create-Project مربوط به Composer
    برای نصب کردن Lumen با استفاده از دستورات Composer میتوانید طبق زیر عمل کنید :
    composer create-project –prefer-dist Laravel/Lumen blog​

- اجرای Lumen در مرورگر  :‌

توسط کامند زیر میتوانید پروژه ی Lumen را از طریق localhost:۸۰۰۰ آماده اجرا کنید :‌

php -S localhost:8000 -t public

 

- دلایلی که نباید Lumen را انتخاب کنید :‌

  • برعکس فریمورک Laravel که قابلیت های زیادی برای تنظیم کردن فریمورک وجود دارد در Lumen فقط یکجا تنظیمات دارد آن هم فایل .env است .
  • Lumen از کامپوننت های Symfony برای routing استفاده نمیکند بجای آن از Fast Route استفاده شده است اگر به ویژگی های Symfony Routing مثل routing روی ساب دامین یا با پارامترهای اختیاری نیاز دارید از فریمورک Laravel استفاده کنید . 
  • اگر با سینتکس خود لاراول حال نمیکنید سمت Lumen هم نروید .
  • پذیرش کم Lumen نسبت به لاراول : تاکنون 20 میلیون بار laravel دانلود شده است در حالیکه lumen فقط 125 هزار دانلود داشته
  • Lumen محدود است و بیشتر تمرکز خود را روی تولید API و میکروسرویس گذاشته و اگر برنامه نویس کاری جز اینها انجام دهد ممکن است با محدودیت مواجه شود
  • Lumen برپایه ی لاراول است اگر یک پروژه با فریمورکی بجر لاراول پیاده شده باشد برای راه اندازی میکروسرویس روی آن Lumen انتخاب خوبی نیست . 

 

نتیجه گیری درباره ی میکروفریمورک Lumen : 

 

خب تا اینجا متوجه شدیم که Lumen یک میکروفریمورک جدید برپایه ی فریمورک Laravel است و مخصوص ساختن میکروسرویس ها یا  API های اپلیکیشن تحت وب است . 

همانطور که دیدید نصب و تست کردن Lumen ساده است و به امتحانش می ارزد 

و هر زمان هم خواستید میتوانید Lumen را به یک لاراول کامل ارتقا دهید 

 

تمام


مطالب زیر ممکن است برای شما مفید باشد

 دیباگ کردن پروژه های لاراولی با Laravel Debugbar کدایگنایتر یا لاراول ؟ کدام فریمورک پی اچ پی چند داشبورد مدیریتی آماده برای لاراول احراز هویت با لاراول 6 جانگو یا لاراول ؟ برنامه نویسان وب بخوانند

محصولات برگزیده مناسب شما

 دوره پروژه محور ساخت فروشگاه بامیلو با لاراول دوره ی آموزش کامل فریمورک لاراول Laravel کارگاه آموزش کار با API های اینستاگرامی دوره ی آموزش ساخت اپ گالری تصاویر آنلاین با کاتلین

پایان


تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

آخرین جستجو ها

Rap of Iran دانلود آهنگ جدید استودیو آهنگسازی ، تنظیم آهنگ و موسیقی دنیای از خوشمزه ها بازار بزرگ پودر ایران سایت خبری تک رونالدو . Chad