NOSQL قسمت سوم
- ساخت برنامههای دسکتاپ به صورت چندسکویی (ویندوز، لینوکس، مک)
- استفاده از HTML,CSS,JavaScript که طراحان وب در این زمینه با آن به آسانی ارتباط برقرار میکنند.
- قابلیت استفاده از کتابخانههای قدرتمند تحت وب چون Bootstrap,Jquery,Angular Js و ...
- متن باز و رایگان است.
D:\electron\test1>npm init
npm i electron-prebuilt --save-dev
لازم است در اینجا توضیحی کوتاه در مورد انواع وابستگیها داشته باشیم:
Dependencies این نوع از وابستگیها، بستههایی را نصب میکنند که شما از آنها در کدهایتان استفاده میکنید و در آینده به همراه پروژه کمپایل میشوند. به طور خودکار وقتی بستهای را به عنوان وابستگی معرفی میکنید، npm وابستههای آن بسته را به صورت درختی بررسی میکند و آنها را هم نصب میکند.
DevDependencies : این نوع از وابستگیهای برای کارهای دیباگینگ و ... است؛ مثل آزمون واحد و ... که نیازی نیست در کامپایل نهایی لحاظ گردند. اگر این نوع کتابخانهها را به جای devdependencies به dependencies ارسال کنید، اتفاق خاصی نمیافتد. ولی در حجم برنامهی نهایی شما تاثیرگذار خواهند بود.
PeerDependencies: این نوع وابستگیها برای معرفی بستههایی استفاده میشوند که در پلاگینهایی که استفاده میکنید تاثیر دارند. ممکن است پلاگینی نیاز به استفادهی از یک بسته را دارد، ولی آن را در کد، Require نکرده باشد (در مورد Require بعدا صحبت میکنیم). ولی برای اجرا نیاز به این بسته دارد. به همین دلیل از نسخهی 3 به بعد، به شما هشدار میدهد که این بستهها را نیز لحاظ کنید (تا نسخهی npm2 به طور خودکار نصب میشد). همچنین نسخه بندی این وابستگیها را نیز در نظر میگیرد. این حالت را میتوانید مانند پلاگینهای جیکوئری تصور کنید که نیاز است قبل از آنها، کتابخانهی جیکوئری صدا زده شود؛ در صورتی که در خود پلاگین، جی کوئری صدا زده نشده است.
ویرایشگر اتم
قبل از اینکه بخواهیم کدنویسی با هر زبانی را آغاز کنیم، عموما یک ادیتور مناسب را برای کارمان بر میگزینیم. الکترون نیازی به ادیتور خاصی ندارد و از Notepad گرفته تا هر ادیتور قدرتمند دیگری را میتوانید استفاده کنید. ولی ادیتور اتم Atom که توسط خود الکترون هم تولید شده است، برای استفاده رایج است. ویژوال استودیو هم در این زمینه بسیار خوب و قدرتمند ظاهر شده است و حاوی Intellisense هوشمندی است.
این ادیتور که با ظاهری جذاب، توسط تیم گیت هاب تولید شده است، یک ویرایشگر متن باز با قابلیت توسعه و تغییر پذیری بالاست و از بستههای Node.js پشتیانی میکند و به صورت داخلی مجهز به سیستم گیت میباشد. بیشتر فناوریهای استفاده شده در این ویرایشگر، رایگان بوده و دارای جامعهی بزرگ متن باز میباشند. از فناوریهای مورد استفادهی آن میتوان به الکترون، CoffeScript ، Node.js ,LESS و ... اشاره کرد. شعار سازندگان این ادیتور «یک ویرایشگر قابل هک برای قرن 21» میباشد.
برای پشتیبانی از زبانهای مختلف، حاوی تعدادی زیادی پلاگین پیش فرض است مانند روبی ، سی شارپ، PHP ,Git,Perl,C/C++, Go,Objective-C,YAML و ...
آغاز کدنویسی
بگذارید کدنویسی را شروع کنیم. اگر اتم را نصب کرده باشید، میتوانید با وارد کردن عبارت زیر، پروژه خود را در ادیتور باز کنید:
atom .
{ "name": "electron", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "electron ." }, "author": "", "license": "ISC" }
const electron = require('electron'); const {app} = electron; const {BrowserWindow} = electron;
let win; app.on('ready', function() { // Create the browser window. win = new BrowserWindow({ width: 800, height: 600 }); });
اکنون در کنسول مینویسیم:
npm start
برای اینکه اولین برنامه واقعا خالی نباشد و ظاهری به آن بدهیم، یک فایل html میسازیم و در callback رویداد ready، بعد از ساخت پنجره آن را صدا میزنیم:
win.loadURL(`file://${__dirname}/index.html`);
مفاهیم Compiling و Transpiling
عبارت Transpiler این روزها در دنیای مدرن برنامهنویسی زیاد استفاده میشود. عمل Transpiling در حقیقت تبدیل یک کد از یک زبان به یک زبان هم سطح دیگر است. این در حالی است که مفهوم Compiling یک مفهوم کلیتر است و به معنی تبدیل یک زبان به هر چیز دیگری (مثل یک زبان نزدیک به ماشین یا زبان همسطح) است. برای مثال عمل تبدیل یک کد TypeScript به JavaScript توسط یک Transpiler انجام میشود. زیرا این دو زبان از لحاظ سطح انتزاع شبیه هم هستند. ولی عمل تبدیل کد C# به IL یا تبدیل کد C++ به binary code و یا تبدیل Java به byte code یک کامپایل محسوب میشود. زیرا این تبدیل به یک زبان نزدیک به ماشین است.
Dynamic Data provider برای Entity Framework 6
خواندنیهای 22 مرداد
اس کیوال سرور
الگوهای طراحی برنامه نویسی شیءگرا
امنیت
توسعه وب
دات نت فریم ورک
متفرقه
محیطهای مجتمع توسعه
ویندوز
- آموزش پیکرهبندی WMware 8.0 برای نصب Windows 8.0 | (مسعود طاهری) | www.nikamooz.com
- کامپایلر Fortran برای Visual Studio 2010 SP1 | امیر | ouo.ir
- لزوم استفاده از پروژههای کدباز داتنتی | (Afshar Mohebbi) | blog.afsharm.com
- 2011 Internet Trends | dotnetslackers.com
- IE6 هنوز در چین طرفداران زیادی دارد! | dotnetslackers.com
- بررسی وضعیت تجاری فعلی مایکروسافت | www.itwriting.com
- به زودی Google reader با Google+ یکی میشود | rss.slashdot.org
- تنظیمات RBS در شیرپوینت 2010 | www.microsoft.com
- خلاصهای در مورد نمودارهای UML | beyondrelational.com
خلاصه اشتراکهای روز جمعه 4 آذر 1390
من این ویدیو مقیاسه Silverlight vs HTML5 رو دانلود کردم و دیدم
تو این ویدیو بیشتر تمرکز روی HTML5 بود و کمتر از Silverlight صحبت کرد. البته تو ویدیو گفت که HTML5 در همه بروزرها نتایجش یکسان نیست ولی خوب از امکانات خوب HTML5 هم نمیشه گذشت. مخصوصا ساپورت اکثر سیستم عاملهای موبایل از HTML5.
تو این ویدیو سخنران هیچ اشارهای به بیزینس اپلیکیشنها نکرد (شاید من متوجه نشدم) .
خلاصه کلام نتیجه این ویدیو برای من این بود که به فکر یادگیری ASP.net MVC باشم و یه جورایی Silverlight رو کم کم بزارم کنار.
تست کدهای سیشارپ بصورت آنلاین
SharpLab (previously known as TryRoslyn)
SharpLab is a .NET code playground that shows intermediate steps and results of code compilation
Languages
SharpLab supports three source languages:
- C#
- Visual Basic
- F#