جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'معرفی'.
5 نتیجه پیدا شد
-
در حال حاضر يادگيري الکترونيکي مفهومي مهم در آموزش عالي است و دانشگاه هاي متنوعي ايجاد شده که نياز جهاني به آموزش را نمايانگر میکند. با يادگيري الکترونيکي امكان «يادگيري بدون محدوديت زماني و مکانی و صرف هزينه» متناسب با نيازهاي بشر فراهم ميشود. در زیر به معرفی چند سایت ازشمند جهانی میپردازیم: سايت ايراني Motamem : محلي براي توسعه دانش و مهارت هاي فردي : www.motamem.org سايت Lynda: وب سايتي که بيش از 4 ميليون نفر در آن مشغول گذارندن دوره هاي آموزشي هستند : www.lynda.com سايت Creative Live: با کلاس هاي رايگان آنلاين خلاقيت را در خود پرورش دهيد : www.creativelive.com سايت Mind Tools : محلي براي يادگيري مهارت هاي مديريتي : www.mindtools.com سايت Codecademy: در اين مدرسه آنلاين مي توانيد کار با java ، Python ، PHP و... را ياد بگيريد : www.codecademy.com سايت edX: وب سايتي شامل دوره هاي آنلاين برنامه نويسي : www.edx.org سايت Platzi: با آموزش هاي اين وب سايت در بازاريابي، کدنويسي،توسعه اپليکيشن و طراحي حرفه اي شويد : www.platzi.com سايت Guides.co: منبعي کامل از نکته ها و توصيه ها در مورد هر موضوعي که فکرش را بکنيد : www.guides.co سايت Udacity: در دوره هاي رايگان آنلاين و با تدريس سباستين تران، کدنويسي را بياموزيد : www.udacity.com سايت Zidbits: محلي براي دسترسي به مقالات جالب و اخبار و حقايق عجيب : www.zidbits.com سايت TED Ed:مجموعه اي از آموزش هاي ارزشمند در موضوعات متنوع : www.ed.ted.com سايت iTunes U: دانشگاه هاي برتري مانند هاروارد و يل پادکست هاي کلاس هاي خود را در اينجا به اشتراک ميگذارند : www.apple.com/education سايت MIT open courseware: براي يادگيري مقدمات کدنويسي با دانشگاه MIT همراه شويد : ocw.mit.edu سايت WonderHowTo: اين سايت هر روز ويديوهاي جديدي براي يادگيري نحوه انجام کارهاي مختلف منتشر ميکند : www.wonderhowto.com سايت One Month: در مدت يک ماه يک مهارت جديد بياموزيد : www.onemonth.com سايت Duolingo: سايت آموزش زبان کاملا رايگان : www.duolingo.com سايت Squareknot: خلاقيت هم قابل يادگيري است : www.squareknot.com سايت Spreeder: تندخواني را در اين سايت بياموزيد : www.spreeder.com سايت Memrise: دانش لغات خود را بيشتر کنيد : www.memrise.com سايت HTML5Rocks: حرفه اي هاي گوگل آخرين به روزرساني ها، راهنمايي منابع و ساير اطلاعات مربوط به HTML5 را با شما به اشتراک ميگذارند : www.html5rocks.com سايت Wikipedia'Daily Article List: مقالات ويکيپديا را روزانه در ايميل خود دريافت کنيد : lists.wikimedia.org سايت DataMokey: در اين سايت SQL و Excel را بياموزيد : www.datamonkey.org سايت Saylor Academy: با دوره هاي آنلاين اين سايت ارايه مطلب و سخنراني را بياموزيد : www.saylor.org سايت Learni.st: دوره هاي حرفه اي با محتواي ويژه از عکاسي تا وبلاگ نويسي : www.crunchbase.com/organization/learnist سايت Academic Earth: دوره هاي پيشرفته دانشگاهي از سال 2009 تا کنون در اين سايت در دسترس هستند : academicearth.org
-
با سلام، با توجه به درخواستهای مکرر از کاربران و اساتید محترم، نیاز جامعهی برنامهنویسی به معرفی محصولات و قابلیتهای یک زبان در قالب یک محصول قابل لمس و دیداری احساس میشد. بنابراین این بخش با هدف این که توسعهدهندگان بومی بتوانند محصولات و پروژههای خود را برای معرفی از جنبههای فنی و همچنین تجاری مطرح نمایند ایجاد شده است. هدف این است که شما توسعهدهندهی محترم بتوانید برای کسب نظر از تجربیات اساتید برای توسعه هرچه بهتر پروژهی خود و همچنین معرفی محصول نوشته شدهی خود اقدام کنید. در صورتی که محصول شما تحت زبان و استانداردهای ویژهای تولید شده است میتوانید آن را برای همگان نشان دهید تا بتوانند نمونهی واقعی یک محصول را در آن حوزه مشاهده نمایند. اهداف کلی معرفی محصولات نوشته شده توسط زبانهای مختلف (این کار باعث میشود توسعهدهندگان قابلیتهای یک زبان را در پروژه واقعی مشاهده کنند) هر چند ممکن است پروژههای کوچکی معرفی شود اما اینکه با یک زبان واقعاً چه کارهایی میتوان انجام داد بسیار مهم است. امکان نظر سنجی و کسب نظرات اساتید و افراد با تجربه برای بهبود هرچه بهتر پروژه شما امکان بررسی و ارسال نظر و امتیاز به پروژه شما جهت کسب امتیاز مهارتی و تجربی امکان بررسی پروژه و رزومههای واقعی شما توسط کارفرمایان و اساتید معتبر امکان ایجاد محیط رقابتی برای بهبود مهارتهای تخصصی و شخصی در توسعهدهندگان و در نهایت بهبود مهارتهای جامعهی برنامهنویسی نمونه قالب معرفی پروژه به صورت زیر میباشد: عنوان پروژه توضیحات در رابطه با کاربرد پروژه معرفی زبان برنامهنویسی بَکاِند معرفی زبان یا فناوریهای به کار گرفته شده در بخش فرانتاِند کتابخانهها و فریموُرکهای استفاده شده نوع پروژه (رایگان یا تجاری) تعداد توسعه دهندگان یا تیم حق چاپ و تکثیر (شخصی یا حقوقی) چند قطعه تصویر استاندارد از محیط محصول مثال: با سلام، عنوان: پروژهی جِنسیس (Genesis) توضیحات: این پروژه یک موتور برنامهنویسی چندسکویی در قالب یک چهارچوب تخصصی میباشد که در توسعه هرچه سریعتر محصولات و طراحی و همچنین مستقر سازی آنها بر روی پلتفرمهای مختلف کمک بسیاری میکند. زبانها و فناوریهای استفاده شده: زبان برنامهنویسی ++C فریم وُرک و کتابخانهها: کتابخانهی OpenSSL، LibCurl، STL ابزارهای ساخت: qmake، qbs و cmake نوع پروژه: تجاری (انحصاری شرکتِ Dotwaves LLC) نویسندگان: کامبیز اسدزده حق چاپ و تکثیر: شرکت داتویوز *دوستان میتوانند نظرات و پیشنهادات خود را در رابطه با این پروژه اعلام کنند.
-
- محصولات
- برنامهنویسی
-
(و 4 مورد دیگر)
برچسب زده شده با :
-
معرفی ترِندهای برخی از زبانهای برنامهنویسی این ماه در Github
کامبیز اسدزاده نوشته وبلاگ را ارسال کرد در ابزارها
همانطور که میدانید منابع بسیاری در شبکهی گیتهاب وجود دارد که بعضاً به عنوان کتابخانههای Third-Party بسیار مفید هستند. در این پُست به ترِندهای برخی از زبانهایِ برنامهنویسی این ماه در GitHub اشاره شده است. ۲۰ نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ ++C: Tensorflow Electron OpenCV Protobuf Bitcoin Pytorch EventCleaner Mcilroy-regex Grpc Aseprite Waterius Godot Msgui Swift v8 XGboost Google Test AnyQ Aspia Tars ۲۰ نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ #C: Shadowsocks-Windows Wox eShopOnContainers Docs .Net ML Blazor DNSpy Corefx PowerShell Ml-Agents Graphy ShareX Musoq Roslyn SimplCommerce MaterialDesignInXamlToolkit SafetyKatz Azure-functions-host UnityCsReference React-NW 15 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ Php: Laravel SecLists Composer Larastan Faker PhpSpreadsheet Phpstan Phpunit Twine Guzzle Symfony Nextcloud Server Voyager Swiftmailer Parsedown 18 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ JavaScript: Javascript-algorithms Ndb Browsh Vue Terminalizer React Graphql Engine Carbon-now-cli v8n Mdx-deck Guppy Evergreen Axios Rogue.js Parcel Node Gatsby Storybook 16 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ QML: Latte-Dock Monero-gui QtQuickControls2 Turtle-wallet-go Qml Material Fluid Material Unity8 Cutegram Deepin-movie Terrarium-app Qml Bootstrap Quick Android Yunit QDriverStation Got-qt 18 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ Python: System Dp Cheat.sh Termtosvg Photon Models Youtube-dl Python Robotics 100-Days-Of-ML-Code Public-apis Glow Awesome Python Cartoonify Termgraph Faust Byob Flask Django cPython 19 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ Swift: Opensource macOS app Wormholy GPUImage3 Bartinter CocoaDebug Sica Awesome iOS iina Top AudioKitSynthOne Alamofire RxSwift RxCoordinator Hero Charts SkeletonView Twig WeScan Lona 20 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ Objective-C: EasyReact lottie-ios YNPageViewController React-native-maps DBDebugToolkit Texture iOS-InterviewQuestion-collection TZImagePickerController SDWebImage AFNetworking Sequelpro iTerm2 IGListKit Expo FLEX MonkeyDev AAChartKit FSCalendar ZFPlayer Realm-cocoa 19 نوع منبعِ ترِند شدهی امروز و این ماه تحت زبان برنامهنویسیِ Java: Java-Interview Jib Data Transfer Project J Design Pattern Spring-boot Proxyee-down Elasticsearch Weixin-java-tools Vjtools Incubator-dubbo Spring-framework Apollo Nacos Guava S-MVP RxJava Pandora Sentinel Netty -
مقدمهای ساده با توجه به فعالیتهای هیجان انگیز اخیر گوگل و کنفرانس آیاو امسال (Google IO/2018) که فلاتر (Flutter) رو معرفی کرد، فلاتر به یاری چند تا از ویژگیهای قدرتمندش توانست توجه تقریبا تعداد زیادی از توسعه دهندهها را به خود جلب کند و باعث کنجکاوی آنها شود. با توجه به این که شروع کار با این فریمورک در ایران به دلیل تحریم ممکن است کمی دردسر ساز باشد، بنده این آموزش ساده و صریح رو آماده کردم تا شاید گره از کار کسی باز شود و همچنین معرفی دوباره و دقیقتر فلاتر به زبان شیرین پارسی میتواند درک بهتری از این فریمورک و ویژگی های قدرتمندش به ما بدهد. پس با من همراه باشید. ? نکته: لازم به ذکر است قبل از شروع نصب، برای دریافت پیشنیازها، نیاز به پروکسی دارید. پس حتما یکی تهیه کنید! فلاتر (Flutter) چیست؟ به گفتهی گوگل: کاربران برنامه ها انتظار دارند برنامه های شما دارای طراحی زیبا، انیمیشنهای نرم و کارایی بالا باشند. برای رسیدن به این امر، توسعه دهندهها نیاز دارند تا بدون نگرانی برای کیفیت یا کارایی امکانات جدید را سریع تر از همیشه بسازند. به همین دلیل ما فلاتر را ساختیم. فلاتر، فریموک UI موبایل گوگل که یک راه سریع و واضح برای توسعه دهندهها فراهم میکند تا روی آی او اس و اندروید برنامههای بومی (Native) بسازند. این به خاطر این است که برنامههای ساخته شده با فلاتر از یک کد پایه ساخته شدهاند، مستقیما به کد بومی Arm کامپایل میشوند، از پردازنده گرافیکی (GPU) استفاده میکنند و میتوانند به ایپیآی (API) ها و سرویس های پلتفرم مورد نظر دسترسی داشته باشند. فلاتر میتواند به سه طریق در همان روز اول به شما کمک کند: سرعت بالای توسعه: فلاتر برای سرعت بالای توسعه دهنده مهندسی شده است. راهاندازی گرم با حفظ وضعیت (Stateful hot reload) این اجازه را به شما میدهد که کد خود را تغییر داده و تغییرات را در کمتر از یک ثانیه و بدون از دست دادن حالت برنامه مشاهده کنید! علاوه بر این فلاتر با ابزار توسعه ی مشهور ادغام میشود؛ یعنی شما میتوانید سریعا با ادیتور یا IDE ای که میشناسید و دوست دارید خود شروع به کار کنید. رابط کاربری منعطف: فلاتر ویجتها، رندر کردنها، انیمیشنها و حرکات (Gesture) را به فریمورک انتقال میدهد تا برای شما کنترل کامل روی هر پیکسل از صفحه را فراهم کند! این یعنی شما انعطاف دارید تا طراحی های شخصی سازی شده بسازید. برنامههای بومی برای آیاواس و اندروید: برنامه های فلاتر قرارداد های پلتفرم و جزئیات صفحه را مثل اسکرول کردن (Scrolling)، پیمایش، آیکونها، فونتها و ... را دنبال میکند. به همین دلیل است که برنامههای ساخته شده با فلاتر در اپ استور و گوگل پلی مورد تایید است. فلاتر برای توسعه دهندهها عالی است، هم برای افراد باتجربه و هم برای تازه کاران در موبایل! اگر شما در موبایل تازه کار هستید، فلاتر به شما یک راه سریع، جالب و مدرن برای ساخت برنامههای بومی میدهد. اگر شما یک توسعه دهندهی با تجربهی موبایل هستید، میتوانید فلاتر را جریان کار و ابزارهای موجود خود اضافه کنید. فلاتر آزاد و متنباز است، و توسط توسعه دهندهها و سازمانهای جهان مثل enterprise، آژانسها و استارتآپ ها استفاده شده است. برای اطلاعات بیشتر و شروع میتوانید به وبسایت فلاتر مراجعه کنید. شروع کار با فلاتر نکته: مراحلی که اینجا توضیح داده شده نسخه فارسی این لینک است به علاوه ی نکتههایی که چطور قسمتهایی که به دلیل تحریم کار نمیکنند را به راه بیاندازیم. در صورت وجود مشکل دیگری لطفا کامنت بگذارید تا در صورت حل مشکل این پست آپدیت شود. دانلود کیت توسعه نرمافزار فلاتر (Flutter SDK): برای شروع ابتدا باید کیت توسعه فلاتر را دانلود کنید در اینجا چون ما با سیستم عامل اوبونتو کار میکنیم لازم است که به این لینک مراجعه کرده و کیت توسعه فلاتر را دانلود کنیم. لینک دانلود در تصویر زیر قابل مشاهده است. که زمان انتشار این نوشته نسخه 0.3.2 بتا است. فایل فشرده دانلود شده را به دایرکتوری مورد نظر خود انتقال داده و آن را استخراج (Extract) کنید. برای مثال: $ cd ~/development $ tar xf ~/Downloads/flutter_linux_v0.3.2-beta.tar.xz وقتی که با ترمینال در دایرکتوری مورد نظر هستید با اجرای دستور زیر به صورت موقت ابزار فلاتر را به مسیر خود اضافه کنید: $ export PATH=`pwd`/flutter/bin:$PATH حالا شما آماده هستید که دستورات فلاتر را وارد کنید. اجرای دکتر فلاتر: دستور زیر را اجرا کنید تا ببینید آیا وابستگیای وجود دارد که شما برای کامل کردن نصب نیاز به نصب آن داشته باشید: $ flutter doctor این دستور محیط شما را بررسی کرده و گزارشی برای شما در صفحه ترمینال نمایش میدهد. کیت توسعهی دارت همراه با فلاتر وجود دارد و ضروری نیست که دارت را به صورت جدا نصب کنید. به دقت خروجی این دستور را برای برنامههای دیگری که نیاز به نصب آن دارید بررسی کنید. ممکن است لازم باشد کارهای دیگری هم انجام دهید. برای مثال: [-] Android toolchain - develop for Android devices • Android SDK at /Users/mrdimaan/Library/Android/sdk ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ • Try re-installing or updating your Android SDK, visit https://flutter.io/setup/#android-setup for detailed instructions. مراحل پایین تر نحوه انجام این کارها و اتمام روند نصب را به شما نشان میدهند. بروزرسانی مسیر شما: شما میتوانید متغیر آدرس خود را فقط برای جلسه (session) در حال حاظر در خط فرمان بروزرسانی کنید. (همانطور که بالاتر آن را انجام دادیم). احتمالا میخواهید این متغیر یا برای همیشه آپدیت کنید، تا بتوانید دستورات فلاتر را در هر جلسه ترمینال اجرا کنید. ابتدا با ترمینال به دایرکتوری که پوشه با نام flutter در آن قرار دارد بروید و سپس با دستور pwd آدرس کامل آن مسیر را بدست آورید. برای مثال: $ pwd $ /home/moein/Documents/flutter-dev حالا فایل .bash_profile را باز کنید. در صورتی که این فایل وجود ندارد آن را بسازید، عبارت زیر را در آن قرار دهید و به جای [PATH] آدرسی که از طریق pwd بدست آوردید را قرار دهید: export PATH=[PATH]/flutter/bin:$PATH حالا دستور زیر را اجرا کنید تا پنجره ی در حال حاظر را تازه سازی (Refresh) کند: $ source $HOME/.bash_profile نصب اندروید نکته: فلاتر به نصب کامل اندروید استودیو متکی است تا وابستگی های پلتفرم اندروید آن را استفاده کند. با این حال شما میتوانید برنامه های فلاتر خود را در ادیتور های مختلفی بنویسید. نصب اندروید استودیو اندروید استودیو را از اینجا دانلود کرده و نصب کنید. توجه داشته باشید که برای دسترسی به این وبسایت حتما باید پروکسی خود را فعال کنید. اندروید استودیو را اجرا کنید. در اولین برخورد صفحه نصب را میبینید. به دلیل تحریم، اندروید استودیو قادر به دانلود یا یافتن ابزار و SDK نخواهد بود بنابراین در اولین نصب با رفتن به مراحل بعدی چیزی دانلود نخواهد شد. بعد از رسیدن به مرحله آخر و انتخاب دکمه Finish صفحه خوشآمدگویی برای شما باز میشود که باید از پایین صفحه تنظیمات را باز کرده و به قسمت پروکسی وارد شوید. بعد از وارد کردن مشخصات پروکسی برنامه را ببندید و دوباره باز کنید این دفعه هم صفحه نصب را مشاهده خواهید کرد با این تفاوت که در مراحل نصب اندروید استودیو به صورت اتوماتیک آخرین کیت توسعه اندروید (Android SDK)، کیت ابزار پلتفرم (Android SDK Platform-Tools)، و کیت ابزار بیلد (Android SDK Build-Tools) را دانلود میکند که برای توسعه برنامه اندروید با فلاتر مورد نیاز است. نصب دستگاه اندرویدی شما ابتدا Developer options و USB debugging را در دستگاه خود فعال کنید. با استفاده از کابل USB موبایل خود را به کامپیوتر وصل کنید و اگر در موبایل شما اجازه خواست آن را تایید کنید. در ترمینال دستور flutter devices را اجرا کرده تا ببینید فلاتر دستگاه اندروید شما را شناسایی کرده یا خیر. برنامه فلاتر خود را با اجرای دستور flutter run راه اندازی کنید. نصب شبیهساز اندروید برای آماده سازی تست و اجرای برنامه فلاتر شما روش شبیهساز اندروید این مراحل را دنبال کنید: قابلیت VM Acceleration را روی کامپیوتر خود فعال کنید. AVD Manager را که در مسیر Android Studio>Tools>Android قرار دارد اجرا کنید و یک دستگاه مجازی بسازید. در قسمت Emulated Performance گزینه Hardware - GLES 2.0 را انتخاب کنید تا hardware acceleration را فعال کنید. حالا درست بودن مشخصات را تایید کرده و Finish را انتخاب کنید. سپس دستگاه شما در لیست دستگاه های اندروید مجازی اضافه میشود پس با کلیک روی آیکون Run دستگاه اندرویدی را راه اندازی کنید. حالا برنامه ی خود را با دستور flutter run اجرا کنید. آماده سازی محیط برنامه نویسی اندروید استودیو در صورتی که میخواهید از این IDE برای برنامه نویسی برنامه خود استفاده کنید کافیست پلاگین Flutter و Dart را در اندروید استودیو نصب کنید سپس بعد از یکبار راه اندازی مجدد اندروید استودیو قابلیت های جدیدی مربوط به فلاتر به اندروید استودیو اضافه خواهد شد و در صفحه خوش آمد گویی گزینه ای برای ساخت پروژه فلاتر جدید نمایان خواهد شد. برای اجرای برنامه خود کافیست دستگاه اندروید مجازی خود را راه اندازی کرده و دکمه ی run در اندرید استودیو را انتخاب کنید. ویژوال استودیو کد در صورت استفاده از ویژوال استودیو کد هم به همین صورت میتوانید افزونه Flutter را نصب کنید. با نصب افزونه Flutter افزونه ی Dart هم به صورت خودکار نصب خواهد شد. حالا برای ساخت پروژهی جدید کافیست Ctrl + shift + p را بزنید، حالا در ورودی flutter را تایپ کنید و از بین گزینههای نمایش داده شده New Project را انتخاب کنید. همچنین برای اجرای پروژه میتوانید در گزینههای نمایش داده شده run را انتخاب کنید. نکته خیلی مهم: اگر هنوز نتوانستید برنامه ی خود را اجرا کنید اصلا نگران نباشید. چون باید برای Gradle هم پروکسی ست کنید تا برنامه شما اجرا شود. ? برای این کار فایل gradle.properties را باز کرده و محتوای داخل آن را به این صورت تغییر دهید و مشخصات پروکسی خود را به جای داده های فایل وارد کنید: org.gradle.jvmargs=-DsocksProxyHost=0.0.0.0 -DsocksProxyPort=1080 همچنین نیاز هست تا محتویات فایل build.gradle را به شکل زیر تغییر دهید: buildscript { repositories { jcenter () maven { url "https://maven.google.com" } } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' } } allprojects { repositories { jcenter () maven { url "https://maven.google.com" } } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
-
مقدمه گاهی اوقات ارزش این را دارد که چند قدم به عقب برداریم و از دید یک تازهکار دنیای توسعه را نگاهی بیاندازیم. امروزه که استقبال زیادی از فریمورک (framework) انگولار میشود، پرسشهای زیادی در مورد انگولار در ذهن توسعه دهندهها به وجود آمده پرسشهایی مانند: انگولار چیست؟ چرا باید انگولار را استفاده کنیم؟ چه موقع نباید از انگولار استفاده کنیم؟ در این مقاله من پاسخ این پرسشها و مطالب بیشتری را میدهم. نگاهی خواهیم انداخت به این که انگولار چیست، چگونه راهاندازی شد و چه زمانی استفاده از انگولار ایدهی خوبی است. بگذارید از ابتدا شروع کنیم و ببینیم چگونه فریمورک انگولار راه اندازی شد؟ انگولار چگونه راهاندازی شد؟ انگولار به عنوان یک پروژهی جانبی شروع شد. در سال 2009، میسکو هِوِری (Miško Hevery) و آدام ابرونز (Adam Abrons) پروژهای را تحت عنوان <angular/> منتشر کردند که به توسعه دهندهها و طراحان کمک میکرد تا با استفاده از تگ (tag) های ساده HTML وب اپلیکیشنهایی (Web application) بسازند. نام "Angular" از براکت های زاویهدار یا <> میآید، که تمام تگهای HTML را احاطه میکنند. میسکو ایدهی پشت این فریمورک را در مصاحبهای که در سال 2013 انجام شد شرح داد: چون دامین angular.com گرفته شده بود - که هنوز هم گرفته شده - حامیها نام کتابخانه را به GetAngular تغییر دادند و سایت کوچکی را قرار دادند که دربارهی امکانات فریمورک صحبت میکرد. تصویر زیر وبسایت انگولار در سال 2009 را نشان میدهد: پس از مدت کوتایی میسکو شروع به کار برای گوگل کرد، و در 2010 در حال کار کردن روی پروژه ای به نام google feedback بود. میسکو برد گرین (Brad Green) مدیر خود را قانع کرد تا پروژه را با استفاده از پروژه جانبی انگولار او باز نویسی کند و مقدار زمان و کدی که تیم توانست ذخیره کند کمک کرد تا گوگل را برای قدرتی که انگولار ارائه میداد متقاعد کند. کمی بعد از موفقیت در بازنویسی Google Feedback، همان تیم کتابخانه را متنباز کردند و سرانجام نسخه 1.0 از انگولار در ماه می سال 2011 منتشر شد. طی چند سال آمار استفاده از انگولار صعود کرد، و امروز گوگل استفادهی نیم میلیون توسعه دهنده از انگولار را به رخ میکشد. انگولار چه میکند؟ انگولار یک فریمورک جاوا اسکریپت است که به توسعه دهندهها در ساختن برنامه کمک میکند. این کتابخانه تعدادی امکانات را ارائه میکند که پیاده سازی نیازمندیهای پیچیدهی برنامههای مدرن را بدیهی و آسان میکند. مانند پیوند داده (data binding)، مسیریابی (routing) و انیمیشنها (animations). همچنین انگولار قراردادهایی را برای چگونگی توسعه برنامه (application) فراهم میکند، که میتواند برای تیمهای بزرگی که نیاز دارند با هم روی یک کد پایه کار کنند بسیار مفید باشد. انگولار تنها کتابخانه جاوا اسکریپت است که راهنمای استایل (style) جامع را با تعدادی دستورالعمل محتاطانه درباره چگونگی نوشتن کد با فریمورک ارائه میدهد. چه زمانی باید انگولار را استفاده کرد؟ از دید تکنیکی شما میتوانید هر چیزی با انگولار بسازید، اما انگولار در پروژه های پیچیده که شامل داده میشوند به بهترین شکل عمل میکند. اگر شما نگاهی به برنامههای متنوع ساخته شده توسط انگولار که در اینجا لیست شده بیاندازید، خواهید دید عموما برنامههایی هستند که دادهها را از فرم (form) ها جمعآوری کرده و با آن کاری میکنند. این به این معنی نیست که شما باید برای استفاده از انگولار در پروژهی خود فرم داشته باشید. توسعه دهندهها تعداد تعجب برانگیزی از بازی با انگولار به خوبی چیزهایی مثل برنامههای واقعیت مجازی ساختهاند! با این حال اکثر آموزشهایی که خواهید یافت دربارهی برنامههایی از نوع فرمدار خواهد بود. برای مثال مستندات انگولار آموزشی دربارهی ساخت برنامهای است که شما با استفاده از فرم، قهرمان هایی را میسازید و آنها را در لیستی مشاهده میکنید. انگولار در برنامههای با پایه فرم خوب عمل میکند، همچنین برای برنامههای بزرگ و پیچیده بسیار مناسب است. همچنین انگولار نه آسانترین فریمورک جاوا اسکریپ است و نه کوچکترین؛ بنابراین اگر در حال ساخت چیز کوچکی هستید کتابخانههای سادهتری مثل جیکوئری خواهید یافت که مناسبتر هستند. مشابهاً انگولار بسیار مناسب برنامههایی است که توسط تیمهای متوسط الی بزرگ ساخته شدهاند. اگر شما خودتان در حال کار بر روی برنامهای هستید، ممکن است قرارداد های انگولار را بیشتر از نیاز خود ببینید. انگولار همچنین برای برنامههایی مناسب است که نیاز دارند در محیطهای توسعه مختلفی اجرا شوند. اگر شما برنامهای دارید که باید به خوبی یک برنامهی ویندوزی یا مک اجرا شود، میتوانید یکی از آموزشهای آنلاین برای اجرای برنامهی انگولار خود با پروژه معروف الکترون را دنبال کنید. اگر شما برنامهای دارید که باید به خوبی برنامه اندروید و ios اجرا شود، میتوانید با استفاده از NativeScript برنامهی خود را در یک محیط بومی واقعی موبایل رندر (Render) کنید. در بعضی موارد حتی میتوانید این کد را بین پلتفرمهای مختلف به اشتراک بگذارید. چه کسی پشتیبان انگولار است؟ تیم هستهی انگولار آرایهای عظیم از افراد و جامعهی (community) انگولار را شامل میشود که در دنیا گسترده شدهاند. که میشود گفت بیشتر توسعههای روز به روز انگولار توسط کارمندان گوگل انجام شده است. صفحه دربارهی انگولار تقریباً 20 کارمند گوگل را در تیم هسته انگولار لیست کرده است و تمام برترین مشارکت کنندهها در پروژه انگولار در گوگل کار میکنند. که میشود گفت گوگل انگولار را کنترل میکند، خود کتابخانه هنوز تا مقدار زیادی تلاش جامعه است. بیشتر از 2000 فرد در یکی از مخزنهای (repositories) متنباز انگولار مشارکت داشتهاند. راهنما و آموزشهای بیشمار نوشته شده توسط جامعه در دسترس هستند، و شرکتهای مختلفی به توسعه دهندهها برای قدرت بیشتر پیشنهاد آموزش و تجهیز شدن به انگولار را میدهند. چه نسخه ای از انگولار را استفاده کنم؟ در زمان نوشتن این مقاله دو نسخه مشهور انگولار موجود هستند. نسخه یک در وبسایت https://angularjs.org در دسترس است و نسخه ی آپدیت شدهی همان کتابخانهای است که میسکو و تیم در سال 2011 منتشر کردند. نسخه ی مشهور دیگر انگولار اکنون به سادگی "Angular"خوانده میشود و در وبسایت https://angular.io در دسترس است. انگولار مدرن کاملا شکل دوباره طراحی شدهی نسخه یک برای مرورگرها، جریانهای کار و پلتفرمهای توسعه جدیدتر است.