Добавлен: 29.11.2023
Просмотров: 72
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
JavaScript асинхронды және бұғатталмайтын кодты бір ағынды, кері қоңырау (кері байланыс) функцияларын және оқиғаларға негізделген даму тәсілін қолдана отырып жазуды едәуір жеңілдетеді. Біз ауыр операция жасауымыз керек болған сайын, біз осы операция аяқталғаннан кейін бірден шақырылатын тиісті кері байланыс механизмін береміз. Нәтижесінде, бағдарлама жұмысын жалғастыру үшін мұндай операциялардың нәтижелерін күтудің қажеті жоқ.
Ұқсас механизм браузерлерде пайда болды. Біз, мысалы, батырмаларды басу сияқты пайдаланушының әрекеттеріне жауап бере алмай, AJAX сұрауының аяқталуын күте алмаймыз. Пайдаланушыларға веб-беттермен жұмыс істеуге ыңғайлы болу үшін желіден деректерді жүктеу және түймелерді басу бір уақытта, нақты уақыт режимінде болуы керек.
Егер сіз батырманы басу оқиғасының өңдегішін жасаған болсаңыз, онда сіз асинхронды бағдарламалау әдістерін қолдандыңыз.
Асинхронды механизмдер бір түйінге мүмкіндік береді.JS сервері бір уақытта мыңдаған қосылымдарды өңдейді, сонымен бірге бағдарламашыға ағындарды басқару және кодтың параллельді орындалуын ұйымдастыру міндеттерін жүктемейді. Мұндай нәрселер көбінесе қателіктердің көзі болып табылады.
Node.js әзірлеушіге негізгі Енгізу-шығару механизмдерін және жалпы Node ортасында қолданылатын кітапханаларды ұсынады.JS, бұғаттамайтын парадигмаларды қолдану арқылы жазылған. Бұл кодтың бұғаттау әрекетін нормадан гөрі ерекшелік етеді.
Түйін Болған Кезде.js желіден деректерді жүктеу, дерекқорға немесе файлдық жүйеге кіру сияқты енгізу-шығару операциясын орындауы керек, мұндай операцияның нәтижелерін күту арқылы негізгі Ағынды, түйінді блоктаудың орнына.js оның орындалуын бастайды және осы операцияның нәтижелері алынғанға дейін басқа әрекеттерді жалғастырады.
Node үшін пакет менеджерімен жұмыс істеудің қарапайымдылығы мен ыңғайлылығының арқасында.js, ол npm деп аталады, Node экожүйесі.JS тікелей дамып келеді. Қазір npm тізілімінде кез-келген түйін еркін қолдана алатын жарты миллионнан астам опенсорлық пакеттер бар.js-әзірлеуші.
Node платформасының кейбір негізгі ерекшеліктерін қарастырғаннан кейін.js, оны әрекетте көріңіз. Орнатудан бастайық. Node.js-ті біз қазір қарастыратын әртүрлі тәсілдермен орнатуға болады.Сонымен, барлық негізгі платформаларға арналған ресми орнату пакеттерін мына жерден табуға болады.
Түйінді орнатудың тағы бір ыңғайлы әдісі бар.js, бұл операциялық жүйеде бар пакет менеджерін пайдаланудан тұрады. Мысалы, осы саладағы нақты стандарт болып табылатын mac OS пакет менеджері Homebrew деп аталады.
Биылғы жылы түйін.js 9 жыл болды. Бұл, әрине, бұл жасты 23 жастағы JavaScript жасымен немесе Mosaic браузерінің пайда болуынан есептегенде, біз білетін вебтің 25 жасымен салыстырған кезде онша көп емес.
9 жыл-бұл технология үшін қысқа мерзім,бірақ қазір Node платформасы бар сияқты.js әрқашан болған.Мен түйінмен жұмыс істей бастадым.JS платформаның алғашқы нұсқаларынан бастап, ол әлі 2 жаста болған кезде. Сонда да, түйін туралы ақпарат болса да.js онша көп болған жоқ, қазірдің өзінде түйінді сезінуге болады.js өте маңызды. Енді түйіннің артындағы технологиялар туралы сөйлесейік.js және осы платформаға қатысты негізгі оқиғаларды қысқаша қарастырыңыз. Сонымен, JavaScript-Netscape-те Netscape Navigator шолғышындағы веб-беттерді басқаруға арналған сценарий тілі ретінде жасалған бағдарламалау тілі.
Netscape бизнесінің бір бөлігі Netscape Livewire деп аталатын ортаны қамтитын веб-серверлерді сату болды. Ол серверлік JavaScript көмегімен динамикалық веб-беттерді құруға мүмкіндік берді. Көріп отырғаныңыздай, серверді дамыту үшін JS пайдалану идеясы түйінге қарағанда әлдеқайда ескі.js. Бұл идея JavaScript-тің өзімен бірдей жаста, бірақ қарастырылып отырған уақытта JS сервері танымал бола алмады.
Негізгі факторлардың бірі Node платформасы.js соншалықты кең таралған және танымал болды, оның пайда болу уақыты. Сонымен, бірнеше жыл бұрын JavaScript маңызды тіл ретінде қарастырыла бастады. Бұл әлемге заманауи веб-технологиялардың мүмкіндіктерін көрсеткен Google Maps немесе Gmail сияқты Web 2.0 Қосымшаларының арқасында болды.
Бүгінгі күнге дейін жалғасып келе жатқан браузерлердің бәсекелестік соғысының арқасында JavaScript қозғалтқыштарының өнімділігі айтарлықтай өсті. Негізгі браузерлердің артындағы әзірлеушілер топтары күн сайын өз шешімдерінің өнімділігін арттыру үшін жұмыс істейді, бұл жалпы JavaScript-ке пайдалы әсер етеді. Осындай қозғалтқыштардың бірі — Chrome браузерінде қолданылатын және түйінде қолданылатын жоғарыда аталған V8.js. Бұл браузер әзірлеушілерінің JS кодының жоғары өнімділігіне деген ұмтылысының нәтижелерінің бірі.
Әрине, түйіннің танымалдығы.js тек сәтті жағдайларға ғана емес, сонымен қатар бұл платформаның дұрыс уақытта пайда болуына негізделген. Ол әлемге JavaScript - те серверді дамытудың инновациялық тәсілін ұсынды. Түйін тарихының негізгі кезеңдерін қарастырыңыз.js.
3 Практикалық бөлім
3.1 Мобильді қосымшаның функционалдық мүмкіндіктері
Мобильді қосымшаға түсініктеме бермес бұрын орындалған жұмыстың практикалық маңыздылығы туралы айта кетсек. Кез келген тауарлардың жылдам уақытта келуі дұрыс тауарды таңдай алу, өзіне керек тауарды дұрыс курьер арқылы тапсырыс бере алуы осының барлығы қазіргі кезде өте өзекті болып табылады. Осы дипломдық жұмыс негізінде логистикалық компанияның мобильді қосымшасы жасалды. Төменде сіз мобильді қосымшаның басты бетін көре аласыз.
Сурет 1 – қосымшаға тіркелу кіру
Мобильді қосымшаның басты беті. Басты бетте сіз өзіңізге қажетті мүмкіндіктерді пайдалана аласыз. Яғни жеткізуші шақыра аласыз, жүк салмағына байланысты ақшасы, жіберген тауарыңыздың деретері
Сурет 2 – Мобильді қосымшаның функционалдары
Қосымшаның настройка бөлімінде сіз өзіңіздің аккаунтыңызды редакторлай аласыз. Қосымшаға тіркелген кезде осы ақпараттарды міндетті түрде толтырсаңыз дұрыс. Себебі бұл сіздің рейтингке жақсы әсер етеді.
Сурет 3 – Жеке кабинеттегі өзініңіздің деректеріңізді өзгерту мүмкіндігі
Сурет 4 – Тапсырыс бергеннен кейінгі ақпараттық бөлім
Сурет 5 – Тауардың сізге жеткізілу құның анықтау бөлімі
Сурет 6 – Тапсырысқа қарай жеткізушіні таңдау
Қорытынды
Қорытындылай келгенде, біз Express доставка логистикалық компаниясының мобильді қосымшасын әзірлеп шықтық. Мобильді қосымшаны біз реакт натив тілінде жазып шықтық. Қазіргі таңда Реакт натив тілі өте танымал тілдердің бірі болып табылады. Себебі осы тіл арқылы біз екі операциалық жүйелерге жаза аламыз. Олар барлығымыз білетін қазіргі таңдағы өте танымал екі ОЖ. Олар Андроид және Ios операциалық жүйелері. Мобильді қосымшаның негізгі техникалық тапсырмасын қазіргі таңдағы жеткізу жүйелерінің негізгі жұмыс принциптерін ескере отырып жазып сол бойынша мобильді қосымшаның функционалдық жүйесін жаздық.
Логистикалық саласындағы қызметтердің қазіргі нарығында қалыптасқан үлкен бәсекелестіктің жағдайы: Алматы қаласында жұмыс істейтін компаниялардың саны ондаған, тіпті жүздеген. Мұндай жағдайда компанияның негізгі міндеті клиентті табу ғана емес, сол клиентті қайта қайтару керек. Клиентке қажетті қызметті алу үшін пайдалана алатын құралдарды таңдауды ұсына отырып, қызмет провайдері клиенттің өзі туралы пікірін жақсартып қана қоймайды, сонымен қатар, негізінен, әлеуетті клиенттердің көлемін арттырады.
Қолданылған әдебиеттер
-
Burnette E. Hello, Android. Introducing Google’s Mobile Development Platform. - Pragmatic Programmers, LLC, 2008. -
Oқу әдicтeмeлiк мaтepиaл: Роберт Виейра «Программирование баз данных Microsoft SQL Server 2005», 2007 ж. -
Веллинг Л., Томсон Л. Разработка Web-приложений с помощью PHP и MySQL, 3-е издание, djvu, 2008. -
Грабер М. SQL, djvu, 2003. -
Грабер М. Введение в SQL, pdf. -
Дронов В.А. JavaScript в Web-дизайне. - СПб.: БХВ-Петербург, 2001. Бейли Л. Изучаем SQL. O'REILLY, pdf, 2012. -
Голощапов А.Л. Google Android: Программирование для мобильных устройств. - СПб.: БХВ-Петербург, 2011. -
Хашими С., Коматинени С., Маклин Д. Разработка приложений для Android. - Питер, 2011. -
Эйблсон Ф. Введение в разработку для платформы Android. Техническая библиотека IBM developerWorks URL: http://www.ibm.com/developerworks/ru/library/os-android-devel/index.html (дата обращения: 10.04.2011) -
Автомобильные грузоперевозки / под ред. Л. Драчук. – М.: Торговый Дом Металлов, ЛТД.– 2019. -
Балалаев, А.С. Технология работы операторских и экспедиторских компаний / А.С. Балалаев, Е.И. Гарлицкий. – Хабаровск: Изд-во ДВГУПС, 2014. -
Витвицкий, Е.Е. теория транспортных процессов и систем / Е.Е. Витвицкий. – Омск: СибАДИ,2019. -
Федорцова, Е.А. Договор транспортной экспедиции: как избежать проблем с НДС / Е.А. Федорцова. – Главная книга. – №16.- 2011. -
Andorid Developers [Электронный ресурс] / 2016. – Режим доступа: https://developer.android.com, свободный. – Загл. с экрана -
Smith, D. Android Recipes: A Problem-Solution Approach / D. Smith, J. Friesen. – Apress. – 2011. -
Savitch, W. Java: An Introduction to Problem Solving and Programming / W. Savitch. – Pesrson. 2014 -
Sugomori, Y. Java Deep Learning Essentials / Y. Sugomori. – Packt Publishing. – 2016. -
Шилдт, Г. Java. Полное руководство / Г. Шилдт. – М.: Вильямс. – 2014. –
Программа коды
import React from 'react';
import { StyleSheet, Text, View, SafeAreaView } from 'react-native';
import Navigation from './src/navigation';
export default function App() {
return (
);
}
import React, { Component } from 'react';
import {
View, Text, StyleSheet, TextInput, TouchableOpacity, Pressable, KeyboardAvoidingView,
TouchableWithoutFeedback, Keyboard
} from 'react-native';
class Auth extends Component {
constructor(props) {
super(props);
this.state = {
phone: '',
password: ''
};
}
render() {
const { navigation } = this.props
const { phone, password } = this.state
return (
style={styles.container}
// behavior={'position'}
>
Keyboard.dismiss() }>
flex: 1,
alignItems: 'center',
justifyContent: 'center'
}}>
textAlign: 'center', fontSize: 28, color: '#fff', fontWeight: 'bold'
}}>
Express{'\n'}доставка
flex: 2,
backgroundColor: '#fff',
borderTopRightRadius: 40,
borderTopLeftRadius: 40,
padding: 16
}}>
textAlign: 'center',
fontWeight: 'bold',
color: '#13905A',
fontSize: 18
}}>Вход
flexDirection: 'row',
borderBottomWidth: 1,
paddingVertical: 12,
borderColor: '#f2f2f2'
}}>
Телефон
placeholder='+7 7'
style={{
marginLeft: 24,
flexGrow: 1
}}
value={phone}
onChangeText={(value)=>{ this.setState({ phone: value }) }}
/>
flexDirection: 'row',
borderBottomWidth: 1,
paddingVertical: 12,
borderColor: '#f2f2f2'
}}>
Пароль
placeholder='Введите пароль'
style={{
marginLeft: 24,
flexGrow: 1
}}
value={password}
onChangeText={value=> this.setState({ password: value }) }
/>
marginTop: 12,
alignSelf: 'flex-end'
}}>
color: '#7ac143'
}}>Забыли пароль?
onPress={()=> navigation.replace('Main') }
style={({pressed})=>[styles.calcBtnStyle, pressed && { backgroundColor: 'rgba(66, 141, 95, 0.6)' } ]}>
);
}
}
export default Auth;
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#13905A'
},
calcBtnStyle: {
backgroundColor: 'rgba(66, 141, 95, 1)',
paddingVertical: 16,
alignItems: 'center'
},