مرجع رسمی مقالات طراحی اپ موبایل

بهترین مرجع مقالات اموزشی طراحی اپلیکیشن

مرجع رسمی مقالات طراحی اپ موبایل

بهترین مرجع مقالات اموزشی طراحی اپلیکیشن

۷ مطلب در ارديبهشت ۱۴۰۱ ثبت شده است

  • ۰
  • ۰

نحوه تبدیل JSON در NET Core.

ما جدیدا با پروژه‌ای رو به رو شدیم که شغل بی آلایش‌ای اعمال می‌بخشید؛ طراحی اپلیکیشن در مشهد قرائت یک پوشه JSON. البته روشی که به JSON تبدیل شد حیران‌کننده بود. به لحاظ می سید که غامض‌ترین طریق قرائت داده‌های JSON که تا به اکنون چشم‌ایم بود. زمانی راه حل این شغل را کاوش می کنیم، با کمال تعجب میبینیم که اکثری از نتیجه ها به عبارتی شغل های سرگردان‌کننده میباشد.


براین اساس در‌این یادگرفتن می خواهیم ببینیم که چطور JSON را در NET Core. تبدیل کنیم.

نصب JSON.NET

درصورتی که پیش از NET Core 3.0. با پروژه ASP.NET Core عمل کرده‌اید، احتمالا JSON.NET را از پیشین نصب دارید. البته در شرایطی که در اکنون شغل بر روی اپلیکیشن کنسول یا این که Class Library میباشید، بایستی آن را از کنسول package manager با فرمان تحت نصب فرمائید.

Install-Package Newtonsoft.Json
مدرک JSON نمونه ما

برای هدف ها این یادگرفتن، ما میخواهیم یک گواهی JSON خیلی بی آلایش داشته باشیم تا با آن عمل کنیم. این مدرک اینگونه خواهد بود:

{
\"MyStringProperty\": \"StringValue\",
\"MyIntegerProperty\": 1,
\"MySubDocument\": {
\"SubDocumentProperty\": \"SubDocumentValue\"
},
\"MyListProperty\": [
1,
2,
3
]
}
این را در یک پوشه ذخیره می کنیم، و آحاد کاری که بایستی جاری ساختن دهیم، لود آن در یک فن (string) در یک اپ کنسول میباشد:

static void Main(string[] args)
{
var myJsonString = File.ReadAllText(\"myfile.json\");
}
آن‌گاه این فن را میگیریم، و می‌بیینیم که به چه شکل داده‌ها را از آن استحصال کنیم.

به کار گیری از JObject

به لحاظ ما این بدترین شیوه برای تبدیل یک مدرک JSON بلندمرتبه میباشد، ولی به حیث میرسد که جواب سریع در هر پرسش stackoverflow در ارتباط با JSON و C# این میباشد. از نگاه ما این به یک حرفه جادویی متکی میباشد و حقیقتا غامض میباشد.

بیایید ببینیم چطور خواهیم توانست یک پراپرتی بی آلایش string را با استعمال از JObject به دست آوریم:

static void Main(string[] args)
{
var myJsonString = File.ReadAllText(\"myfile.json\");
var myJObject = JObject.Parse(myJsonString);
Console.WriteLine(myJObject.SelectToken(\"MyStringProperty\").Value());
}
بسیار بهتر میباشد، البته این دستور بدین متکی میباشد که در یک فن جادویی ارسال کنیم تا پراپرتی را پیدا کنیم. این وحشتناک وجود ندارد، ولی بهتر هم وجود ندارد.

در صورتی یک زیرمجموعه‌ای از گواهی را بخواهیم چطور؟ آغاز ممکن میباشد تصور کنید می توانید از کوئری XPath به کارگیری نمائید که به صورت معمول برای تبدیل پوشه‌های XML به کارگیری میگردد. نادرست میکنید. به دلایلی،‌ یک لهجه پرس و جوی بار متفاوتی به اسم JSONPath وجود دارااست که در قبال از علامت‌گذاری نقطه به کار گیری می‌نماید. با اعتنا به برخی دلایل منطقی میباشد چون JSON تک تک خصوصیت‌های XML را ندارد (اتربیوت‌ها، فضای اسم‌ها و غیره) ولی این نیز آزاردهنده میباشد که ناچار شویم دسته دیگری از نماد‌گذاری‌ها را خاطر بگیریم.

  • Raya Pars
  • ۰
  • ۰

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


بعضا از نو کاران در جاوا گرفتاری این را دارا‌هستند که از دستکاری نرم افزار خویش بوسیله اپ های ادیتور خودداری نمایند هرچند این عمل به سادگی جاری ساختن میگردد البته گشوده هم توضیحاتی درین ارتباط به شما می ‌دهم ! همان گونه که استحضار دارید فولدر های XML به راحتی بوسیله برنامه های ادیتور قابل دستکاری می‌باشند البته ما می‌توانیم با جاوا جلوی این عمل را بگیریم تابع آیتم به کارگیری : https://7va.ir/paste.php?id=1 ( ضمیمه نیز گردیده‌است ) همان طور که مشاهده می کنید تابع بسیار معمولی ای میباشد البته کاربردی شیوه به کارگیری : این تابع دو ورودی داراست 1 - text درین ورودی شما می بایست textview خویش را ارسال نمائید که‌این textview می تواند متنِ یک دکمه ، Text و... باشد 2 - text_textview متن تکست ویو ارسالی را بایستی یاور با این ارسال فرمایید تا ، تابع حقیقت آزمایی فرمائید که متن ارسال با متن Textview ارسال موازی باشد در غیر اینصورت یعنی این متن در XML بوسیله یک شخص عوض شده میباشد و نرم افزار به طور اتوماتیک متوقف می‌گردد ! همان طور که مشاهده کردید تابع بسیار بی آلایش ای بود البته امیدوارم به دردتان بخورد برنده و موفق باشد !

  • Raya Pars
  • ۰
  • ۰

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


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

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

چه اقتصاد بیزنس شمارا مبتلا ایراد نماید یا این که نکند، اصلی این میباشد که به نحوه‌هایی تصور کنید که بتوانید رویش کوچکی در اینترنت‌تارنما خویش ساخت نمائید. و ما اینجا هستیم تا به شما یاری کنیم. امروز ایده‌هایی را ارائه خوا‌هیم اعطا کرد که به شما قابلیت و امکان میدهد شغل های دیگری غیر از تحمل اوضاع نابه‌سامان اقتصادی را اعمال دهید.

به‌دنبال حل خطاها باشید

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

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

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

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

ایده مهم این میباشد که در پی قسمت‌هایی برای اصلاح یا این که بهبود باشید. به احتمال زیاد شما میتوانید یکسری گزینه برای ادامه شغل خویش در کوتاه زمان پیدا نمائید.

  • Raya Pars
  • ۰
  • ۰

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

 

 

توفیق ویژوال استودیو عمدتا به جهت توانگری ارائه ثبات و همت هست. علاوه‌براین، خصوصیت‌های بسیار مایحتاج، به عنوان مثال IntelliSense را مهیا می‌نماید که تنها در IDEهایی فول سایز مثلVisual Studio 2017 یا این که Eclipse در دسترس میباشد.

توان ویژوال استودیو کد از جامعه open-source پشتیبانی می‌گردد چون اینک می‌تواند نسبتاً از هر لهجه اپ‌نویسی، فناوری گسترش و کادر‌ورکی امان نماید. علاوه‌براین از های‌لایت‌سازی سینتکس، خصوصیت‌های IntelliSense وEmmet  و اسنیپت‌ها حفاظت می‌نماید.

مفاد پایین بعضی از دوستداشتنی‌ترین اسنیپت اکستنشن‌های جاوااسکریپت میباشد.

1. StandardJS JavaScript code snippets: برای بسط‌دهندگانی که مدل تفاهم نامه StandardJS را تعیین می‌نمایند بسیار مطلوب میباشد. اسنیپت‌ها هیچ سیمیکالونی ندارند.

2. JS Code snippets: فعلا با بیشتراز 3 میلیون نصب دوستداشتنی‌ترین میباشد. سینتکس ES6 را برای JavaScript، HTML، React، TypeScrip داراست. تمامی اسنیپت‌ها دارنده سیمیکالون آخری میباشند.

3. اسنیپت‌های جاوااسکریپت Nathan Chapman: تیم‌ای از اسنیپت‌های JS با به طور تقریب 33000 نصب میباشد. اکستنشن هواخواهی از کادر‌ورک‌های BDD Testing، یعنی Jasmine، Mocha و Node.js را آماده می‌نماید.

4. JavaScript Standardjs Styled Snippets به وسیله Capaj: این دوستداشتنی‌ترین اسنیپت استاندارد دارنده 72000 نصب میباشد. اساسا از اسنیپت‌های Atom StandardJS میباشد. اسنیپت‌ها از JavaScript، React و TypeScript حفاظت می‌نمایند.

5. Atom JavaScript Snippet تشکیل‌شده بوسیله Saran Tanpituckpong: با بیش تر از 26000 نصب، از اکستنشن atom/ JavaScript منتقل گردیده‌اند.

  • Raya Pars
  • ۰
  • ۰

طراح بودن در یک پروژه قابل انعطاف‌افزاری می تواند سخت باشد. طراحی اپلیکیشن در مشهد ممکن میباشد فضای مبهمی برای شغل کردن دراین باره وجود داشته باشد. ما این متاع را برای چه افرادی می سازیم؟ سفارش قیمت ما چیست؟ چه طور لذت را به وجود میاوریم؟ دست‌کم محصولی که بایستی با آن استارت کنیم چیست؟


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

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

1. سازمان‌یافته باشید

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

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

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

از ابزاری مانند Zeplin برای رد کردن پباده سازی تا گسترش استعمال فرمایید

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

یک راهنمای استایل ظریف بسازید

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

تمامی استایل‌های متنی (h1, h2, h3, p, input placeholder, input و غیره).

رنگ‌ها با اسم‌ها.

دکمه‌ها در همگی حالات (هنگامی موشواره روی آن کلیک نشده، موشواره روی آن قرار گرفته، زده گردیده است، غیرفعال میباشد و غیره).

کامپوننت‌ها در تمامی حالات. این بدان معناست که هر کامپوننت در شکل نادرست، خالی بودن و غیره چه طور به لحاظ رسد.

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

پوشه‌های خویش را در یک جای قرار دهید، مانند Google Drive یا این که Dropbox

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

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

  • Raya Pars
  • ۰
  • ۰

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

خلال این مقیاس‌پذیری آن به جهت محبوبیت گویش اعلانی، آن را در کلیه نرم‌افزار‌های اینترنت قابل انجام می‌نماید. پوسته شایان توجه آن مشتمل بر کامپوننت‌ها و خصوصیت‌های خاص انگولار، به عنوان مثال دایرکتیوها و فیلترها میباشد. همینطور از دستورها مختلفی برای فعالیت بر روی آن ها استعمال می شود، مانند هیبت در دست گرفتن‌ها، ng-model، ng-repeat، ng-app و غیره.

خصوصیت‌های رابط کاربری UI بازنویسی و ادراک آن برای بخش اعظمی از موردها را سهل می‌سازد. این یک جنبه خوب از عمل با همدیگر را آماده می‌نماید، مانند فعالیت طراحان و بسط‌دهندگان که از HTML برای شغل های مشترک استعمال می‌نمایند. گونه های گوناگون طراحان قدرتمند به ساخت UI می‌باشند. برای مثال بسط‌دهندگان از سینتکس اعلانی بایندینگ برای اتصال به المنت‌های متعدد رابط کاربری به کار گیری می‌نمایند.

  • Raya Pars
  • ۰
  • ۰

در‌این نوشته‌ی‌علمی، ما خاطر میگیریم یک پروژه تازه طراحی اپلیکیشن در مشهد انگولار 11 با به کار گیری از فرمان ng new بسازیم و آن‌گاه Material Design را با به کار گیری از فرمان ng add نصب کنیم. آن‌گاه یک مثال بی آلایش matTabs در ویژوال استودیو کد می سازیم.


مرحله 1

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

ng new samplemat

مرحله 2

یک ترمینال تازه را گشوده کرده و اوامر پایین را ایفا فرمایید.

Angular Material را نصب نمایید،

ماژول Material را در اپ خویش نصب فرمایید.

ng add @angular/material

فرمان Angular Material ،ng add را نصب می‌نماید، Component Dev Kit (CDK) و Angular Animations

آنها برخی از سوال ها را راجع‌به نصب می پرسند،

·  یک اسم تم از پیش تشکیل شده یا این که \"سفارشی\" برای custom theme تعیین فرمائید:

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

·  استایل های تایپوگرافی سراسری Angular Material را تهیه و تنظیم نمائید:

چه مدل های تایپوگرافی سراسری را در اپلیکیشن خویش ایفا فرمایید یا این که خیر.

·  برنامه کودک های مرورگر را برای Angular Material تهیه نمائید:

وارد کردن BrowserAnimationsModule در نرم افزار‌ یتان سیستم کارتون انگولار را فعال می‌نماید. با رد کردن این اکثر کارتون های Angular Material غیرفعال میشوند.

امر ng add همینطور کانفیگ‌های تحت را نیز اعمال میدهد:

تعلق‌های پروژه را به package.json اضافه می‌نماید.

فونت Roboto را به index.html اضافه می‌نماید.

آیکون فونت Material Design را به index.html اضافه می‌نماید.

یکسری تا استایل CSS سراسری را به موردها پایین اضافه می‌نماید:

حذف مارجین از body

ست کردن height: 100% روی html و body

ست کردن Roboto تحت عنوان فونت نرم افزار

فعلا فعالیت ما مجموع شد‌ه‌است و Angular Material در حال حاضر برای استعمال در اپ ما کانفیگ شد‌ه‌است.


مرحله 3 - App.module.ts

درحال حاضر ما متریال را در app.module.ts اعلان میکنیم.

import { NgModule } from \'@angular/core\';
import { BrowserModule } from \'@angular/platform-browser\';
import { BrowserAnimationsModule } from \'@angular/platform-browser/animations\';
import {
MatTabsModule,
MatButtonModule,
MatToolbarModule
} from \'@angular/material\';

import { AppComponent } from \'./app.component\';
@NgModule({
imports: [ BrowserModule, BrowserAnimationsModule, MatTabsModule, MatButtonModule, MatToolbarModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
مرحله 4

حال مخلوط را در App.component.html می‌نویسیم.


Material Tabs ui


Get the change event!


Tab 1
Tab 2


Get the tabs


Tab 1
Tab 2
Tab 3

مرحله 5

بعد از آن قادر خواهیم بود app.component.ts را گشوده کرده و و چندین کد را بنویسیم.


import { Component, OnInit, AfterViewInit, ViewChild, ViewChildren, QueryList } from \'@angular/core\';
import {MatTabGroup} from \'@angular/material\'
@Component({
selector: \'my-app\',
templateUrl: \'./app.component.html\',
styleUrls: [ \'./app.component.css\' ]
})
export class AppComponent implements OnInit, AfterViewInit {
ngOnInit() {
}
@ViewChildren(\"selectTabs\") selectTabs: QueryList
ngAfterViewInit() {
console.log(\'total tabs: \' + this.selectTabs.first._tabs.length);
}
tabChanged(tabChangeEvent: number) {
console.log(\'tab selected: \' + tabChangeEvent);
}
}
در style.scss

/* Add application styles & imports to this file! */
@import \'~@angular/material/theming\';
@include mat-core();
$candy-app-primary: mat-palette($mat-blue);
$candy-app-accent: mat-palette($mat-pink, A200, A100, A400);
$candy-app-warn: mat-palette($mat-red);
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);
@include angular-material-theme($candy-app-theme);
مرحله 6

اکنون نرم‌افزار را انجام می کنیم

ng serve --port 1223

با اجرای توفیق آمیز فرمان بالا، این در مرورگر نماد داده می‌گردد،

  • Raya Pars