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

آموزشگاه تحلیل داده ارایه دهنده به روز ترین مطالب آموزشی و متدلوژی های برنامه نویسی است که در این زمینه بی رقیب است

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

آموزشگاه تحلیل داده ارایه دهنده به روز ترین مطالب آموزشی و متدلوژی های برنامه نویسی است که در این زمینه بی رقیب است

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

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

۲ مطلب با کلمه‌ی کلیدی «کتاب آموزش react native» ثبت شده است

آموزش پروژه محور React Native

سلام در بخش دوم آموزش React Native محیطهای اجرا React Native در android، iOS و Mac و iOS را آموزش دادیم حال با بخش سوم با ما همراه باشید:

در بخش اول آموزش React Native با مفاهیم پایه React Native آشنا شدیم

در ادامه برنامه ای را اجرا می کنیم

آموزش React Native

اولین برنامه، Hello World!

طبق سنت قدیمی برنامه نویس ها، اولین برنامه ما یک applicationساده است که هیچ کار نمی کند جز اینکه یک Hello, World! ساده را نشان دهد:

import React, { Component } from 'react';

import { Text, View } from 'react-native';

export default class HelloWorldApp extends Component {

render() {

return (

<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>

<Text>Hello, world!</Text>

</View>

);

}

}

آموزش React Native

اگر دوست دارید کمی کنجکاوی کنید، می توانید در شبیه سازهای تحت وب با کدها کار کنید. میتوانید کد را در فایل App.js روی سیستم خودتان بگذارید و یک app روی سیستم خودتان بسازید.

چه اتفاقی می افتد؟

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

ES2015 یا همان ES6مجموعه ای از تغییرات روی جاوا اسکریپت است که حالا بخشی از استاندارد رسمی آن شده، اما هنوز همه ی مرورگرها از آن پشتیبانی نمی کنند، به همین دلیل هنوز به قدر کافی در زمان developبرای وب استفاده نمی شوند. React Native از ES2015 پشتیبانی می کند. می توانید از آن بدون هیچ دغدغه ای درمورد سازگاری استفاده کنید. کلمات کلیدی مثل import، from، class، extends در مثال بالا همه از ویژگی های ES2015هستند. اگر با ES2015آشنا نیستید، احتمالا فقط با خواندن همین آموزش آن را یاد می گیرید. این صفحه (لینک) مروری روی ویژگی های ES2015 دارد.

قطعه کد نامعمول دیگر این مثال <View><Text>Hello world!</Text></View> است. این JSXاست. این syntax است که XML را درون جاوااسکریپت می نشاند. Frameworkهای زیادی از زبان قالبی خاصی استفاده می کنند که به شما اجازه استفاده از کد درون markup language را بدهد. این syntax شبیه Html تحت وب به نظر می رسد، با این تفاوت که به جای استفاده از المان هایی چون <div> یا <span>، از component های React استفاده می شود. در این مثال، <Text> یک component آماده است که متنی را نشان می دهد و View مثل > یا <span>است.

آموزش React Native

کامپوننت ها component

این قطعه کد یک component جدید را تعریف می کند.

وقتی یک application React Native می نویسید چندین component خواهید داشت. هرچیز که روی صفحه می بینید یک componentمحسوب می شود. یک component می تواند بسیار ساده باشد. تنها چیزی که نیاز دارد یک تابع render است که JSX برای render شدن برمی گرداند.

این app کار زیادی نمی کند. برای اینکه با component ها کارهای جالبتری انجام دهیم باید درمورد Propsبدانیم.

پروپ Props در React Native component ها

اغلب component ها هنگام initialize می توانند با پارمترهای مختلفی سفارشی سازی شوند. این پارامترهای زمانِ ساخت، Propsنامیده می شوند.

برای مثال، یک componentاصلی در React Native، Imageاست. وقتی یک Image می سازید، می توانید از یک prop به نام sourceاستفاده کنید و با مقداردهی به آن، تصویر موردنظرتان را تعیین کنید:

import React, { Component } from 'react';

import { AppRegistry, Image } from 'react-native';

export default class Bananas extends Component {

render() {

let pic = {

uri: 'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'

};

return (

<Image source={pic} style={{width: 193, height: 110}}/>

);

}

}

// skip this line if using Create React Native App

AppRegistry.registerComponent('AwesomeProject', () => Bananas);

به آکولاد استفاده شده در {pic} توجه کنید. آن ها متغیر pic را درون یک JSX می گنجانند. می توانید هر عبارت جاوااسکریپتی را با قرار دادن درون آکولاد، در JSXاستفاده کنید.

کامپوننت ها componentهایی که خود می سازید هم میتواند از props استفاده کند. این ویژگی به شما اجازه میدهد از یک component، اما با ویژگی های کمی متفاوت از یکدیگر، در جاهای مختلف applicationاستفاده کنید. مثال زیر چگونگی این کار را ، با referenceدادن به this.props در تابع render، نشان می دهد:

import React, { Component } from 'react';

import { AppRegistry, Text, View } from 'react-native';

class Greeting extends Component {

render() {

return (

<View style={{alignItems: 'center'}}>

<Text>Hello {this.props.name}!</Text>

</View>

);

}

}

export default class LotsOfGreetings extends Component {

render() {

return (

<View style={{alignItems: 'center', top: 50}}>

<Greeting name='Rexxar' />

<Greeting name='Jaina' />

<Greeting name='Valeera' />

</View>

);

}

}

// skip this line if using Create React Native App

AppRegistry.registerComponent('AwesomeProject', () => LotsOfGreetings);

آموزش React Native

استفاده از name به عنوان یک prop، به ما امکان سفارشی کردن component Greeting را می دهد، می توانیم از این componentبارها با مقادیر مختلف استفاده کنیم. این مثال از این component، درست مثل component های اصلی، در JSX نیز استفاده می کند. این امکان دقیقا همان چیزی است که باعث جذابیت Reactشده. اگر حس کنید component های متفاوتی برای کارتان احتیاج دارید، می توانید خودتان آن ها را بسازید.

نکته جدید دیگری که در این کد می بینیم، component Viewاست. Viewبه عنوان ظرفی برای component های دیگر استفاده می شود، و کنترل style و layout را ممکن می کند.

با استفاده از props و component های اصلی Text، Image، و View، می توانید صفحات ثابت زیادی درست کنید. برای اینکه بتوانید application خود را با دیتای متغیر بسازید، باید درمورد State ها بدانید.

استیت State ها در React Native component ها

دو نوع دیتا وجود دارد که یک component را کنترل می کند: props و state. Propsتوسط component parentمقداردهی می شوند و در طول چرخه حیات componentثابت هستند. برای دیتای متغیر، از state استفاده می کنیم.

به طور کلی، باید state را در سازندهinitialize کنید، و سپس با فراخوانی setStateمقدار آن را تغییر دهید.

برای مثال، می خواهیم متنی بسازیم که حالت blinkداشته باشد. متن یک بار موقع ساخته شدن component مربوطه، مقداردهی می شود. پس متنی به تنهایی یک prop است. این مسئله که "متن دراین لحظه نمایش داده شود یا نشود" در طول زمان متغیر است، پس باید درون state نگه داری شود.

import React, { Component } from 'react';

import { Text, View } from 'react-native';

class Blink extends Component {

componentDidMount(){

// Toggle the state every second

setInterval(() => (

this.setState(previousState => (

{ isShowingText: !previousState.isShowingText }

))

), 1000);

}

//state object

state = { isShowingText: true };

render() {

if (!this.state.isShowingText) {

return null;

}

return (

<Text>{this.props.text}</Text>

);

}

}

export default class BlinkApp extends Component {

render() {

return (

<View>

<Blink text='I love to blink' />

<Blink text='Yes blinking is so great' />

<Blink text='Why did they ever take this out of HTML' />

<Blink text='Look at me look at me look at me' />

</View>

);

}

}

آموزش React Native

در یک application واقعی، معمولا state را با یک timer مقداردهی نمی کنیم. ممکن است state را زمانی مقداردهی کنیم که دیتای جدیدی از serverدریافت کرده باشیم، یا ورودی از کاربر گرفته باشیم. بعلاوه، می توان از یک state container مثل Redux یا Mobxبرای کنترل دیتا استفاده کرد. دراین حالت، به جای صدا زدن setState به طور مستقیم، از Redux یا Mobxبرای تغییر stateاستفاده می کنیم.

وقتی setState فراخوانی می شود، BlinkApp، component خود را دوباره render می کند. با فراخوانیsetState از طریق Timer، component با هر تغییر در Timer ، دوباره render می شود.

استیت ها State در اینجا کاملا مشابه React عمل می کند. برای مطالعه بیشتر درمورد نحوه کار با state می توانید به React.Component API مراجعه کنید. تا اینجا اکثر مثال های ما متن های ساده ای بودند. برای ساختن چیزهای جذابتر، باید درمورد style بدانیم.

استایل Style ها در React Native

در React Native، برای تعریف style از syntax یا زبان خاصی استفاده نمی کنیم. application را با استفاده از جاوااسکریپت style می دهیم. همه component های اصلی یک prop به نام styleدارند. اسامی و مقادیر styleمعمولا شبیه CSS در وب کار می کند، با این تفاوت که اسامی به صورت camel casingانتخاب می شوند، مثلا backgroundColor (و نه background-color).

استایل Style می تواند یک plain old JavaScript object (POJO) باشد. این ساده ترین و پرکاربرد ترین روش style دادن است. همچنین می توانید آرایه ای از style ها را پاس دهید، آخرین عضو آرایه مقدم تر است، و می توان از این روش برای ارث بری style ها استفاده کرد.

همچنان که یک componentپیچیده تر می شود، بهتر است با استفاده از StyleSheet.createچندین style در یک جا تعریف کنیم. مثال زیر را ببینید:

import React, { Component } from 'react';

import { StyleSheet, Text, View } from 'react-native';

const styles = StyleSheet.create({

bigBlue: {

color: 'blue',

fontWeight: 'bold',

fontSize: 30,

},

red: {

color: 'red',

},

});

export default class LotsOfStyles extends Component {

render() {

return (

<View>

<Text style={styles.red}>just red</Text>

<Text style={styles.bigBlue}>just bigBlue</Text>

<Text style={[styles.bigBlue, styles.red]}>bigBlue, then red</Text>

<Text style={[styles.red, styles.bigBlue]}>red, then bigBlue</Text>

</View>

);

}

}

آموزش React Native

یک الگوی رایج این است که component یک styleبپذیرد که بعد برای styleدادن به component child های آن استفاده شود. می توانید با استفاده از این قابلیت به شیوه ی CSSاستایل های "cascade" ایجاد کنید.

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

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

ارتفاع و پهنا Widthو Height در React Native component

width وheight یک componentتعیین کننده سایز آن روی صفحه است.

ابعاد ثابت

ساده ترین راه مقداردهی به ابعاد یک componentمقداردهی ثابت به width و height در هنگام استفاده از styleاست. تمام ابعاد در React Native بدون واحد هستند، و نشان دهنده density-independent pixel هاهستند.

import React, { Component } from 'react';

import { AppRegistry, View } from 'react-native';

export default class FixedDimensionsBasics extends Component {

render() {

return (

<View>

<View style={{width: 50, height: 50, backgroundColor: 'powderblue'}} />

<View style={{width: 100, height: 100, backgroundColor: 'skyblue'}} />

<View style={{width: 150, height: 150, backgroundColor: 'steelblue'}} />

</View>

);

}

}

// skip this line if using Create React Native App

AppRegistry.registerComponent('AwesomeProject', () => FixedDimensionsBasics);

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

ابعاد منعطف

استفاده از flex در هنگام تعریف styleبرای یک component، به این معناست که ابعاد آن می تواند برحسب میزان فضای موجود تغییر کند. معمولا از flex: 1استفاده می شود؛ که به component می گوید فضای موجود را پر کند و آن را با component های دیگر که parentیکسانی دارند، متناسب به اشتراک می گذارد. هرچه مقدار بزرگتری به flexبدهیم، نسبت فضایی که component می گیرد، نسبت با component های sibiling، بیشتر خواهد بود.

یک component فقط زمانی می تواند بزرگ شود و فضای موجود را بگیرد که component parent آن، دارای ابعاد بیشتر از 0 باشد. اگر parent آن مقادیر ثابتی برای height و width و flexنداشته باشد، ابعادی معادل 0 دارد و component child آن با وجود داشتن flex، قابل مشاهده نخواهد بود.

import React, { Component } from 'react';

import { AppRegistry, View } from 'react-native';

export default class FlexDimensionsBasics extends Component {

render() {

return (

// Try removing the `flex: 1` on the parent View.

// The parent will not have dimensions, so the children can't expand.

// What if you add `height: 300` instead of `flex: 1`?

<View style={{flex: 1}}>

<View style={{flex: 1, backgroundColor: 'powderblue'}} />

<View style={{flex: 2, backgroundColor: 'skyblue'}} />

<View style={{flex: 3, backgroundColor: 'steelblue'}} />

</View>

);

}

}

// skip this line if using Create React Native App

AppRegistry.registerComponent('AwesomeProject', () => FlexDimensionsBasics);

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

پایان بخش سوم آموزش React Native

۰ نظر موافقین ۰ مخالفین ۰ ۰۴ مهر ۹۸ ، ۱۵:۴۱
افشین رفوا

آموزش React Native

آموزش React Native

مقدمه

در دوره  می آموزید که چگونه Application های Cross Platform بسازید که در سیستم عامل های Android و IOS اجرا شوند. 
در دوره برنامه نویسی React Native می آموزید برنامه هایی بسازید که از لحاظ خروجی و Peformance دقیقا Native بوده و برنامه تولید شده دقیقا مانند برنامه ای است که با Java یا Swift ساخته شده است. 
نرم افزارهای مشهور Instagram، Facebook، Skype و... نمونه هایی از Application هایی هستند که با React Native ساخته شده اند.

اهداف دوره

دانشجویان در دوره React Native بر معماری سیستم عامل Android تسلط کافی می یابند. 
دانشجویان در دوره React Native بر معماری سیستم عامل IOS تسلط کافی می یابند. 
در دوره آموزش React Native دانشجویان به تسلط کامل در نصب محیط و راه اندازی محیط برنامه نویسی و همچنین راه اندازی Emulator مسلط می شوند. 
در دوره آموزش React Native دانشجویان به جنبه های قدرتمند زبان برنامه نویسی JavaScript که در برنامه نویسی React Native استفاده می شود مسلط می شوند. 
آموزش ساخت انواع Layout و استانداردهای Layout در Android و IOS از اهداف این دوره می باشد. 
دانشجویان در دوره آموزش React Native به کار با State ها و همچنین Debug نمودن برنامه های React Native مسلط می شوند. 
طراحی انواع Navigation های موبایل شامل Android و IOS و همچنین ساخت انواع Animation از اهداف دوره آموزش React Native می باشد. 
آموزش کار با دستگاه های جانبی موبایل مثل دوربین، نقشه و... از اهداف دوره می باشد. 
دانشجویان در دوره آموزش React Native می آموزند که با استفاده از Http Request چگونه انواع API ها و Web Service ها و دیگر منابع Web را مورد دسترسی قرار دهند.

برای ثبت نام در دوره آموزش React Native به سایت آموزشگاه تحلیل داده رجوع کنید

مخاطبین این دوره

  •  شرکت ها و برنامه نویسان فعال در حوزه نرم افزار که می خواهند هزینه تولید اپلیکیشن های خود را کاهش دهند.
  •  تمامی برنامه نویسان حرفه ای Andoird و IOS که می خواهند به دنیای جدیدی از طراحی اپلیکیشن وارد شوند.
  •  طراحانی که می خواهند بدون درگیر شدن با Android و IOS اپلیکشن بسازند.
  •  کلیه برنامه نویسان Web و Desktop که می خواهند بدون یادگیری Java و Swift تخصص اپلیکیشن نویسی را به گنجینه دانسته های خود بیفزایند.


پیشنیاز

آشنایی با HTML و CSS و مفاهیم برنامه نویسی


o مقدمات

  • معرفی سیستم عامل و پلتفرم ها
  • انواع برنامه نویسی به صورت Cross Platform
  • آینده وب و موبایل
  • مروری بر HTML و CSS
  • آموزش حرفه ای Package Manager برای React Natvie
  • آموزش Package.json
  • مزایا و معایب React Native


o آموزش نصب و راه اندازی محیط React Native

  • آموزش نصب NodeJS
  • آموزش نصب Android Studio
  • آموزش نصب Visual Studio Code
  • آموزش نصب React Native
  • آموزش نصب React Native CLI
  • آموزش کاربردی Extension های Vysor، Web Server، Audits و...
  • کار Developer Options در موبایل
  • معرفی و نصب شبیه ساز


o آموزش جاوااسکریپت برای React Native

  • آموزش کاربردی EcmaScript 6
  • آموزش کاربردی Arrow Functions
  • آموزش کار با کلاس ها (Classes) در جاوااسکریپت
  • آموزش Enhanced Object Literals در جاوااسکریپت
  • آموزش String interpolation در جاوااسکریپت
  • آموزش Destructuring در جاوااسکریپت
  • آموزش Default در جاوااسکریپت
  • آموزش Spread در جاوااسکریپت
  • آموزش Spread + Object Literals در جاوااسکریپت
  • آموزش Rest در جاوااسکریپت
  • آموزش Let در جاوااسکریپت
  • آموزش Const در جاوااسکریپت
  • آموزش For..of در جاوااسکریپت
  • آموزش Unicode در جاوااسکریپت
  • آموزش Modules And Module Loaders در جاوااسکریپت
  • آموزش Set در جاوااسکریپت
  • آموزش WeakSet در جاوااسکریپت
  • آموزش Map در جاوااسکریپت
  • آموزش WeakMap در جاوااسکریپت
  • آموزش Proxies در جاوااسکریپت
  • آموزش Symbols در جاوااسکریپت
  • آموزش Inheritable Built-ins در جاوااسکریپت
  • آموزش New Library در جاوااسکریپت
  • آموزش Binary and Octal در جاوااسکریپت
  • آموزش Promises در جاوااسکریپت
  • آموزش Reflect در جاوااسکریپت
  • آموزش Tail Call Optimization در جاوااسکریپت


o آموزش ساختار محیط Android Studio و سیستم عامل Android

  • آشنایی با محیط Android Studio
  • آموزش Folder Structure در Android Studio
  • آشنایی با Java و XML
  • آشنایی با مدل لایه ای معماری Android
  • آشنایی با اصطلاحات Android
  • بررسی کامل و جامع Activity
  • بررسی Fragment در اندروید
  • بررسی Widget در اندروید
  • بررسی Layout در اندروید
  • آموزش جامع Manifest


o آموزش ساختار محیط XCode و سیستم عامل IOS

  • مقدمات IOS
  • آشنایی با Swift
  • آشنایی با اصطلاحات IOS
  • بررسی Stackview در IOS
  • بررسی Auto Layouts در IOS
  • بررسی Segues در IOS
  • بررسی Package در IOS


o آموزش React Native

  • ایجاد اولین پروژه React Native
  • آموزش خروجی گرفتن از پروژه React Native
  • آموزش اجرای برنامه React Native در Android
  • آموزش اجرای برنامه React Native در IOS
  • آموزش کار با ورودی متنی (Textinput) در React Native
  • آموزش استایل دهی در React Native
  • آموزش استفاده از یک Framework اختصاصی در React Native
  • آموزش Position در React Native
  • آموزش (Button) در React Native
  • آموزش ساخت کامپوننت های اختصاصی در React Native
  • آموزش Listening to Touch Events در React Native
  • آموزش ScrollView در React Native
  • آموزش Static Images در React Native
  • آموزش Network Images در React Native
  • آموزش Modal در React Native


o آموزش Managing Application State در React Native

  • آموزش State
  • آموزش Redux در React Native
  • آموزش نصب Redux در React Native
  • آموزش Actions در React Native
  • آموزش Reducer در React Native
  • آموزش Store در React Native
  • آموزش React Native و Redux در React Native


o آموزش رفع Bug در React Native

  • آموزش Console
  • آموزش Console در React Native
  • آموزش Breakpoints در React Native
  • آموزش React Native Debugger در React Native
  • آموزش Debugging Redux در React Native


o آموزش Navigation در React Native

  • مقایسه Navigation در برنامه های Web و برنامه های Native
  • آموزش Exploring Native Navigation Solutions در React Native
  • آموزش افزودن React Native Navigation به Android
  • آموزش افزودن React Native Navigation به IOS
  • آموزش Tabs Navigation در React Native
  • آموزش Icons در React Native
  • آموزش Pushing Pages در React Native
  • آموزش Popping Pages در React Native
  • آموزش Navigator Methods در React Native
  • آموزش Side Drawer در React Native
  • آموزش Navigation Events And Toggling the Drawer در React Native


o آموزش طراحی ظاهر برنامه و انیمیشن در React Native

  • آموزش Stylesheet در React Native
  • آموزش کامل و حرفه ای Flexbox در React Native
  • آموزش انواع واحد ها
  • آموزش Relative
  • آموزش Absolute
  • آموزش Text Style در React Native
  • آموزش Background Image در React Native
  • آموزش کامل Custom Button در React Native
  • آموزش کامل Side Drawer در React Native
  • آموزش Custom Button در React Native
  • آموزش Cross Platform Styles And Responsiveness در React Native
  • نمایش Icon های مختلف برای Platform های مختلف در React Native
  • آموزش بحث Centering with Margins در React Native
  • استفاده از Animated API در React Native


o آموزش ورودی های کاربر و اعتبارسنجی در React Native

  • آموزش Validation در React Native
  • آموزش Managing Input/ Control State در React Native
  • آموزش Validation Logic در React Native
  • آموزش Validation State در React Native
  • آموزش Auth Action در React Native
  • آموزش Soft Keyboard در React Native


o آموزش کار با قابلیت های دستگاه مانند دوربین و... در React Native

  • آموزش نصب react-native-maps در React Native
  • آموزش عملیات Render نقشه در React Native
  • آموزش انتخاب یک موقیعت روی نقشه در React Native
  • آموزش افزودن یک Map Marker در React Native
  • آموزش نصب react-native-image-picker در React Native
  • آموزش کار با Image Picker در React Native
  • آموزش Storing the Picked Images در React Native
  • آموزش Image Picker and the Data it Returns در React Native


o آموزش شبکه و Http Request در React Native

  • بررسی تئوری Http Request در React Native
  • آموزش ایجاد Server در React Native
  • آموزش استفاده از Fetch-API در React Native
  • آموزش کار با Storing Data in Firebase در React Native
  • آموزش کار با Image Upload در React Native
  • آموزش Storing Data in Firebase در React Native
  • آموزش Storing the Remaining Data در React Native
  • آموزش Activity Indicator در React Native
  • آموزش Getting Data from the Server در React Native
  • برای ثبت نام در دوره آموزش React Native به سایت آموزشگاه تحلیل داده رجوع کنید
۰ نظر موافقین ۰ مخالفین ۰ ۱۳ مرداد ۹۸ ، ۱۸:۱۵
افشین رفوا