24
- аппарат әзірлеушілер жеткізілу құрамына Java ME-ді қосады.
Javaпрограммалары байт-кодта жіберіледі. Байттық кодтың өңдеу
программасы болып саналатын JAVAмашинасында функционалдайды.
Осы программалардың жұмыс әдістерінің пайдасы болып операциялық
жүйеден байт-кодтың абсолютті тәуелсіздігі саналады. Аппаратура, нақты
виртуалды машина құрамында бар, құрылғыларда Java-қосымшаларды
орындауға мүмкіндік береді.
Java-ның
ерекше
технологиясы
болып,
дереу
тоқтатылуын
стимулдаушы жобаның белгілі бір мүмкіндіктерін мәртебелейтін (мысалы,
мәліметтерге рұқсат етілмеген қолжетімділікке ұмтылуы немесе бөгде пк-мен
біріктіру),
бағдарламаны
қолдану
виртуалды
машинамен
толық
басқарылатындығының арқасында, қорғаныстың серпімді концепциясы
саналады.
Көбінде концепция кемшіліктеріне байт-кодты орындайтын виртуалды
машиналарды жатқызуға болады. Виртуалды машина Java стилінде жүзеге
асырылған, алгоритмдер мен жобалардың тиімділігін төмендетуге қабілетті.
Қорытындылаушы кезеңде Java-дағы жобалардың орындалу қарқынын
жоғарылататын бірнеше жаңартылған қатарлар енгізіледі:
- жоба барысында тікелей механикалық шифрлеуде байт-кодтаудың
технологиялық трансляциясын пайдалану. Класс бөлігін машиналық кодта
сақтау мүмкіндігі бар;
- қарапайым кітапханада платформалық-көзделген кодтауды (native-
шифр) кең қолдалымына ие болды;
- байт-кодтауларды жылдам өңделуін қамтамасыз ететін, аппараттық
ресурстар.
Зерттеу жүргізу арқылы, shootout.alioth.debian.org сайты, Java-дағы жеті
түрлі тапсырма үшін, C/C++-ке қарағанда, орташа уақытпен 1,5-2 есе көп,
кейбір жағдайларда Java тезірек, ал бөлек жағдайларда жеті есе баяу
орындалатындығы анықталды. Басқа қырынан, олардың көбінде Java-
машинамен жадты пайдалану, C/C++ программасымен салыстырғанда, аса көп
болды.
Одан басқа, Гугл фирмасымен жүргізілген білім беруді белгілеген жөн,
оған сәйкес, C++-тегі тәріздес жобалармен салыстырғанда Java-дағы сынақ
жағдайларында аса көп жадты пайдалану және мағыналы аса жоғары емес
тиімділікпен белгіленеді.
1.4.2 HTML 5 программалау тілі
Жүйе
навигациялық
механизмдердің
айқын
ерекшеліктерін
ескермейді. Оңай айтқанда, Android және iOS-тағы тұтынушылық
интерфейсінің навигациясы ерекшеленеді, бірақ ол жоғарыда келтірілген
тәсілмен жасалыну кезінде ескерілмейді (бұл себеп арнайы дүкендерде
жариялануын қабылдамау кезінде аз емес салмаққа ие). Оны практикалық
жағынан қарастырайық. html5-ті қолдану арқылы жақындаудың
25
мәлімделетін «құндылығы» кроссбраузерлікте негізделеді, осымен қатар
клиентке/тапсырыс берушіге оны «жүйеге қандай платформаға қосымшаны
жасау керек екені маңызды емес, жүйе барлық платформаларды есептеуге
қабілетті» деп ұсынады, бірақ сөз соңындағы тұтынушы жөнінде емес, ол
үшін бұл өте маңызды; мысалы, андройд пайдаланушы, операциялық
жүйелер құрылғыларында жоқ, аппараттық «артқа» батырмасын қолдануға
үйренген. Нәтижесінде немесе олар, немесе басқалары риза болмауы
мүмкін, бәлкім оларда және басқалары да.
Айқын түрде қосымшаның өндірулігі төмендеуде. Өйткені, қосымша
«қабатшаларды» қолдану арқылы жүйе қызметтеріне жүгінетін,
смартфонға жүктемелерді арттыратындығы жөнінде оңай қорытынды
жасауға болатын, JavaScript-та кодтың барлық программалық бөліктері
жасалынған. Сонымен қатар, егер сөз iphone 4s - 5, htc one, samsung s3-s4б
секілді қуатты құрылғылар жөнінде болса осы қуат жетіспеушіліктері
байқалынады; ал егер тұтынушы аса әлсіз құрылғыларды қолданғанда не
болатындығын анықтау қиын емес.
Апаттық өшірудің жоғары ықтималдылығы. Жұмыс тәжірибесі жиі
жағдайлар, бір платформаларда жұмыс жасағанда, ал басқасында әрдайым
өмірдің қатаң шындығы жүктелетіндігін көрсетеді.
26
2 Android операциялық жүйесі
2.1 Android платформасының құрылымы
Android платформасы өзімен, қондырғыны (аппаратураны), жадты және
үрдістерді басқару үшін арналған, Linux негізіндегі операциялық жүйенің
программалық үймесін білдіреді. Бұл үйменің түрлі құраушылары өздерімен
иерархияның бірнеше деңгейін білдіреді және, толығында, мобильді
құрылғының функционалдылығын қамтамасыз етеді. Осы құраушылардың
біреуі құрылғы қондырғыларымен тікелей жұмыс жасау үшін қажет,
басқалары телефониямен, позициялаумен, мультимедия және т.б. байланысты
функцияларды қамтамасыздандырады, ал үшіншілері мобильді құрылғының
көптеген мүмкіндіктерін жүзеге асыру үшін қосымшаларға фреймворк
ұсынады. Басқа сөзбен айтқанда, Android платформасы өзіне тікелей
операциялық
жүйені,
аралық
деңгейдің
программалық
қамтамасыздандырылуымен (middleware) және қосымшалар жиынын
(ендірілген және бөгде) қосады.
Біз анықтағандай, Android – бұл программалық үйме, яғни түрлі
программалық құраушылардың толық жиыны. Басқа жағынан, Android
платформасындағы құрылғы өзімен, экран, батырмалар, батарея, процессор,
болуы мүмкін датчиктер мен сенсорлардың жады және т.б. секілді аппараттық
құрылғылардың жиынын білдіреді. Оның барлығы Android платформасы
жөнінде келесі құрылымдарға ие, біріккен аппараттық-программалық кешен
ретінде айтуға мүмкіндік береді:
- Аппаратура – бұл құрылғының функционалдауын қамтамасыз ететін,
элементтер жиыны.
- LinuxKernel (+Drivers) – қондырғыны басқарудың және жадты
үлестірудің, тапсырмалары басқарудың, қауіпсіздікті қамтамасыздандырудың
және т.б. базалық механизмдерін қамтамасыздандырушы, драйверлер
жиынтығы және Linux операциялық жүйесінің ядросы.
- Кітапхана (C/C++), операциялық жүйенің түрлі құраушыларымен
қолданылады.
- DalvikVirtualMachine (DVM) – операциялық жүйе (ОЖ) құраушылары
мен Android қосымшасының орындалу ортасын қамтамасыздандыратын,
Dalvik виртуалды машинасы.
- CoreLibrary – негізгі Android кітапханалар, Java тіліндегі (Java API)
кітапханалар ядроларында қолжетімді функциялардың көбін, және Android
операциялық жүйесінің арнайы функцияларын құрайды.
- ApplicationFramework (қосымша каркасы) – кітапханалар мен
операциялық жүйелер функцияларына интерфейс қосымшаларын ұсынатын,
Java класстар (API) жиынтығы.
- Ендірілген және тұтынушылық қосымшалар.
Достарыңызбен бөлісу: |