Ақпараттық ресурстар, жүйелер мен технологиялар қазіргі заманғы адам қызметінің ажырамас, тез дамып келе жатқан элементтері болып табылады. 1997 жылы WAP (Wireless Application Protocol - Сымсыз қолданба хаттамаcы) технологиясы ұялы байланыс нарығында пайда болды, ол компьютерге қосылу үшін арналған кабельді пайдаланбастан ұялы телефондарға тікелей ғаламтордан бағдарламаларды орнатуға мүмкіндік берді. Содан бері қоғамның «мобильдендіру» процесі басталды. 2000-жылдардың басында мобильді қосымшаларды телефондармен үлкен сенсорлық экрандармен дамыту мобильді қосымшаларды жасауда сапалы қимылмен жаңа деңгейдегі мобильді қосымшаларды жасауға мүмкіндік берді. 2010-шы жылдардан бастап мобильді құрылғылары қосымшаларды дамыту үшін заманауи ақпараттық технологияларды қолдануға мүмкіндік беретін аса қуатты процессорлармен жабдықталған. Көптеген бағдарламашылар кәсіби қызметтің жаңа бағыттарын үйреніп, нарықтық үрдістерге бейімделе бастады. Қазіргі уақытта мобильді қосымшаларды әзірлеу ақпараттық технологиялар саласындағы ең танымал іс-әрекеттердің бірі болып табылады.Мобилді қосымшаларды құрастыру тұтынушылық қажеттілікті алдын ала орындауға мүмкіндігі бар шешімі қолданушыға белгісіз алгоритмдер мен тапсырмаларды орындауға негізделген. Мобильді қосымша - белгілі бір тұтынушылар тобына арналып құрастырылып, олардың қандай да бір мәселелері мен қиындығын шешуге бағытталған. Мобильді қосымша - нақты платформаға орнатылған, белгілі бір әрекеттерді шешуге болатын функционалдығы бар арнайы бағдарлама [1]. Бұл әртүрлі ақпаратпен өзара әрекеттесуге көмектесетін жүйенің бір түрі. Осыған байланысты мынадай түрлерге жіктеледі: - қосымша-оқиға: әртүрлі іс-шараларды, оқиғаларды көрсетуге мүмкіндік береді, мысалы, спорттық, мәдени, білім-ғылымға қатысты орын алған оқиғаның көрсетілімі және т.б.; - қызметтік қосымша: ұйымдардың қызметін көрсететін сайттарға ұқсас сервистік қосымшалар; - үйретуге, дамытуға арналған әртүрлі ойындарға арналған қосымшалар; - онлайн режимде сатылым жасауға арналған интернет дүкендер; - әртүрлі брендтерді жарнамалауға қолданылатын промо-қосымшалар; - бизнес-қосымша: ұйымның үдерісін оңтайландыруға, бизнес ақпаратқа қол жетімділікті қамтамасыз етуге және деректер базасымен біріктіруге мүмкіндік береді; - жүйелік қосымша: телефон мен оның бағдарламалық жасақтамасы үшін кеңейтілген параметрлер мен опцияларды пайдалану; - телефонды толық навигатор ретінде пайдалануға мүмкіндік беретін GPS модулін пайдаланатын шарлау және іздеу қызметтері бар қосымща; - бейне және аудио ақпаратпен жұмыс істеу кезінде телефонның мүмкіндігін кеңейтетін мультимедиалық бағдарламаладағы қосымшалар; - әлеуметтік желілер, байланыс үшін онлайн қызметтер, ақпарат таратуы және әлеуметтік қатынастарды ұйымдастырушы қосымшалар; - контенттік қосымшалар және т.б. Әрбір құрастырылатын қосымшалар қолданылуы ортасы мен пайдалану мақсатында әртүрлі және құрастырылу әдіснамаларыда үнемі өзгеріп отырады, бірақ бұл мобильді қосымшаларды әзірлеу мен бағдарламалау кезіндегі процесс стандартты келеді. Мобильді қосымшаларды әзірлеу процесін шиыршықталған түрде бейнелеуге болады (1-сурет). Сурет 1. Мобильді қосымшаны әзірлеу процесі Осы процеске жеке-жеке тоқталып өтсек: Идея Кез келген құрастырылған қосымшалар болсын, дайын бағдарламалық өнім болсын ең алдымен идея ретінде басталады. Егер бағдарламалық өнім немесе мобильді қосымша құру идеясы жоқ болса, онда мұндай жұмысты бастаудың тиімдісі проблемалар және әлеуетті шешімдер тұрғысынан заттарды ойлауға даярлау болып табылады. Егерде белгілі бір жағдайларға байланысты туынған мәселелерге қызығушылық танытып, «бұл мәселенің туындауына не себеп?» «бұл мәселені шешудің жақсы жолы бар ма?» деген секілді сұрақтар арқылы мәселелер мен нарықтық тиімсіздікті анықталса, онда идеяның жартысына қол жеткізгендік болып табылады. Келесіде бұл мәселенің неліктен екенін түсіну және бұрын соңды бұл мәселе бойынша қосымша жасалғаны жөнінде ақпарат іздестіру. Мәселе кеңістігіне мүмкіндігінше көп зерттеу жүргізу. Мәселені толық түсінгеннен кейін, мобильді қосымша мәселені қалай шеше алатынын бағалауды бастау. Модельдеу Бұл кезеңде алдымен қосымшаның ақпараттық архитектурасын жобалап алған жөн. Ақпараттық архитектура - бұл қосымшада қандай деректер мен функцияларды ұсыну керектігін және осы деректер мен функциялардың қалай ұйымдастырылғандығын анықтайтын процесс. Әдетте, бұл процесті бағдарламаны орындауда қатысатын функциялардың тізімін және қосымшада қандай жерде көрсетілетінін көрсету арқылы басталады. Бұл қосымшаны модельдеу кезіндегі сұлбаның негізгі құрастырушы блогы болып саналады. Әрі қарай қосымшаның терезесін жасауды және әр функцияларды және деректерді тағайындауды бастау қажет. Осы орайда әр нысанның өз орны бар екеніне көз жеткізу керек. Пайдаланушылар қосымшамен жұмыс істеу кезіндегі қолайсыздық болған жағдайларға алдын ала талдау жасап шығу қажет. Қосымшада әрбір нысан мен мәзірлер ішіндегі орын алатын click-термен бастапқы бетке ауысу немесе кез келген беттен іс-әрекетті аяқтау үшін қанша click қажет екенін көргіңіз келетін нәрселердің әрқайсысын қарастыру керек. Бұл жердегі click –нысанды басу, шерту дегенді білдіреді.Әрбір басудың интуитивті екенін тексерген жөн. Егер қандай да бір әрекетті жасау үшін бір реттік шерту болса, онда ол қолданушыға ыңғайлы, бірақ жалпы тапсырмаларды орындау үшін бірнеше рет шерту ұсынылмайды. Келесі қадам – шерту арқылы ауысу моделі. Шерту арқылы ауысу моделі жұмыс үрдістеріңізбен қосымша жобасын тексеруге көмегін тигізеді. Олар негізінен қосымшаның интерфейсін телефон арқылы сынақтан өткізу үшін шынайы тестілеу әдісі болып табылады. Мысалы, тұтынушылар жай телефон арқылы қосымша ашылған кезде олардың шеңберінен шығуға мүмкіндік беретін сілтеме алады. Қосымша қазірде ешқандай функционалдық болмаса да, олар қосымшаның әр бетін шертуге және бағдарламаның шарлауын бастайды. Бұл қадамда қиындықтар туындағанда қосымшаның сұлбасына өзгертулер енгізу керек. идея модельдеу бағдарламалау тексеру қателік орын алса түзету Стиль нұсқаулықтары - бұл бағдарламаның дизайнының құрылыстық блоктарына негізделген. Дыбыс стилі нұсқаулығы қолданбаны қолдануда өте пайдалы болады.Бірыңғай дизайн тілінің арқасында пайдаланушылар қосымшаны пайдалануда өзін ыңғайлы сезінеді. Өйткені мобильді қосымшаның «өмір сүру» ұзақтығына да оның жасалған дизайны әсерін тигізеді [2]. Бағдарламалау Жоғары деңгейдегі техникалық жобалау. Ұялы қосымшаны жасау үшін қолданылатын көптеген тәсілдер, технологиялар және бағдарламалау тілдері бар. Олардың әрқайсысы өзінің күшті және әлсіз жақтары бар. Олардың кейбіреулері пайдалануға арзан болуы мүмкін, бірақ өнімділігі төмен, ал басқалары көп уақытты қажет етеді және сапалы, кәсіби түрде болады. Қосымшаны құрудағы ең нашар мүмкіндік - сенімсіз технологиялық стэкті пайдалану, қазіргі таңда мұндай қызмет түрі өте көп. Яғни ешқандай бағдарламалық кодтаусыз-ақ дайын шаблондар арқылы әртүрлі тақырыпта қосымшалар құруға болады[6]. Алайда мұндай дайын шаблондары бар программалармен құрылған қосымшалардың кері тұстары көп: толыққанды басқарудың жоқтығы, берілген дизайнге тәуелділілік, шектеулі интерфейстер және т.б. Сонымен қатар, мобильді қосымшаларды бағдарламау кезінде Front-end және Back-end жобалау жүйесі бар. Frond-end жобалау - бұл тұтынушы бөлігінің қосымшасын жобалау. Басқаша айтқанда, бұл пайдаланушы мен сервердің қосымша арасындағы интерфейсін құрастыру. Ол пайдаланушының қандай да бір деректерді енгізуін, сондай-ақ оның бастапқы өңдеуін және тиісті API (application programming interface-қосымшаны бағдарламалау интерфейсі) арқылы серверге жіберуді жүзеге асырады. Back-end жобалау - бұл пайдаланушылардың немесе ресурстардың арасында деректерді беру үшін жауап беретін қосымшаның сервер жағының дамуы.Төменде кодты жазуды бастамас бұрын ескеру қажет бірнеше нәрселер бар: - Программалау тілдері - API жасау үшін қолдануға болатын ондаған тілдер бар. Ең жиі қолданылатын тілдер Java, C#, Javascript, PHP және Python. - Мәліметтер қоры - қазіргі заманғы дерекқорлардың екі негізгі түрі бар. SQL және noSQL. SQL барлық жағдайларда дәстүрлі және жақсы таңдау ретінде саналады. Жалпы SQL нұсқаларын MSSQL, MYSQL және PostgreSQL қамтиды. - Хостинг ортасы (Инфрақұрылым) - бұл қадамда API және дерекқордың қайда және қалай орналастырылатынын шешу қажет. Мұнда қабылданған шешімдер хостинг шығындарын, масштабталуын, орындалуын және өтінімінің сенімділігін анықтауға көмектеседі. Жалпы хостингпровайдерлерге Amazon AWS және Rackspace кіреді. Провайдерді таңдаудан тыс, жүйенің қаншалықты кеңейтілетінін жоспарлау қажет. Бұлтқа негізделген шешімдер ресурстарды пайдалы деп санап, қажет болғанда жоғары және төмен қарай ауқымды түрде төлеуге мүмкіндік береді. Олар сондай-ақ дерекқор сақтық көшірмелерін, сервердің жұмыс уақытын және операциялық жүйенің жаңартуларын жасауға көмектеседі [3]. Түпнұсқалық (native) қосымшалар - белгілі бір платформаға арналған бағдарламалау тілдерінде жазылған және операциялық жүйеге кіріктірілген, тез және дұрыс жұмыс жасайды және басқа мобильді қосымшалардың функционалдығы мен жылдамдығының артықшылығына ие. Олар осы платформа үшін ең қарапайым түрде бағдарламаның интерфейсі мен жалпы іс-әрекетін жүзеге асыруға мүмкіндік береді. Сонымен қатар, қосымшалар аппараттық құралдарға қол жетімді: бейне камера, микрофон, акселерометр, телефон кітапшасы және т.б. Әрине бұлар бағдарламаны жазу кезінде көп уақытты қажет етеді, мұндай кезде бағдарламаушының құрастыру ортасында арнайы білімі болуы қажет, сондай-ақ әр платформаның өзінің жеке бағдарламалары болғандықтан үлкен бағаны да талап етеді. Мұндай қосымшаларда өзіне тән құралдары мен бағдарламалау тілдері бар. Мысалы, Android операциялық жүйесіне арналған бағдарлама жазу үшін көбіне Android Studio, Java тілі қолданылады, ал iOS үшін Xcode және Objective-C, сонымен қатар соңғы кезде көп танымалдыққа ие болып келе жатқан Swit қолданылады, Windows Phone үшін Visual Studio және C# программалау тілдері қолданылады. Кейде бірнеше платформада жұмыс жасауға мүмкіндігі бар, native қосымшалардан бөлек қысқа мерзімде қосымша құруға тура келетін жағдайлар болады. Мұндай кезде, гибридті немесе вебқосымшалар таңдалынады, ал құрастыру үшін кроссплатформалы мобильді фреймворктар қолданылады [4]. Веб-қосымшаларды сайттың мобильді нұсқасы деп атауға болады, мұндай қосымшалардың кеңейтілген интерфейсі бар. Бұлар арнайы дүкендерде орналаспайды, тек браузер жұмысы үшін қолданылады. Осындай қосымшалардың жұмыс жылдамдығы ғаламтор байланысына тәуелді, сонымен қатар, жылдам құрастырылуы мен төмен бағаға ие. Кроссплатформалы болып саналатын стандартты мынадай веб-технологиялар қолданылады: HTML5, JavaScript және CSS. Android Studio ортасында қарапайым қосымша құру алгоритмін қарастырайық. Ол үшін алдымен осы бағдарламалау ортасының интерфейсі мен жобаның құрылымына сипаттама беріп өтейік. Жобаның құрылымы: src –қосымшаның (java-класының) «бастапқы коды»; assets – бос директория. Raw-файлдарды сақтау үшін қолданылады. gen – генерациялантын жүйелі файлдардың орны. Яғни, жобада қолданылатын барлық ресурстардың идентификаторы сақталады. libs – қосымшада қолданылатын әртүрлі кітапханалар; res – жоба ресурсы; AndroidManifest.xml – жобаны сипаттау файлы; project.properties – жобаның баптауларынан тұратын файл. Жобаның ресурстары: anim – анимациялық нысандарға компиляциялайтын XML файлдардан тұрады; color – түстерді сипаттайтын XML файлдардан тұрады; drawable – Drawableshapes және Drawableobjects сипаттайтын XML, 9-Patch файлы, растрлық файлдардан тұрады. layout – экран макетын сипаттайтын XML файлдардан тұрады; menu – қосымшаның менюін анықтайтын XML файлдардан тұрады; raw - еркін файлдарды сақтау үшін қажет; values – ресурстың көптеген түрлерін компиляциялайтын XML файлдардан тұрады; Жобаны құрастыру үшін болуы қажет талаптар: Java Development Kit Android Software Development Kit Мысал. Бір экранды (Activity) қолдану арқылы қосымша жасау [3]. Екі activity құру керек және олардың арасында бір-бірінен ауысуды ұйымдастыру керек. Алгоритмі төмендегідей жүзеге асуы қажет: жаңа жоба құру; қосымша атын жазу; Next – Empty activity – MainActivity – FINISH батырмасын шертеміз жұмыс аймағына TextViewжәне Button орналастырамыз: o TextView – Бұл бастапқы бет; o Button –Келесіге ауысудеген мәтіндерді жазамыз. Бос activity құрамыз: App – тышқанның оң жақ батырмасын шерту – New – Activity – Empty Activity – бұл құрылған activity атауы:Main2Activity MainActivity.java ашамыз, төмендегі кодты жазамыз: public classMainActivityextends AppCompatActivity { private Button b; protected void onCreate (NundlesavedInstance ) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); b = (Button) findViewbyId(R.id.button); b.setOnClickListener (new View.OnClickListener () { public void onClick(View view) { Intent I = new Intent (packageContext: MainActivity.this, Main2Activity/class); startActivity(i); }}); }} Нәтижесін виртуалды құрылғыда немесе өзіңіздің Android операциялық жүйедегі телефоныңызда тексере аласыз. Жалпы қосымшаны тестілеудің мынадай түрлері бар: функционалдық тестілеу - берілген талаптарда сипатталғандай жұмыс істеуін қамтамасыз ету үшін тестілеу; қолданылуы бойынша тексеру - қосымшаның мүмкіндіктерін пайдаланушыға ыңғайлы және интуитивті болуын тексеру үшін тестілеу; құрылғыға арнайы тестілеу - құрылғылар мен операциялық жүйенің комбинацияларының көптігінен тестілеу кезінде бағдарламаның көптеген экран өлшемдері мен OЖ нұсқаларында тексеру; Beta тестілеу - бұл қолданбаның түрлі құрылғыларда, орындарда, операциялық жүйеде және желілік шарттарда қалай жұмыс істейтінін жан-жақты көру [5]. Мобильді қосымшаларды құрастырудың заманауи технологиясы дамып, кешенді түрде қолданып келе жатыр. Технологияның қарыштаған заманында күн сайын мыңдаған мобильді қосымшалар құрастырылып, Google Play және Apple App Stores-қа жарияланып, кең қолданысқа шығуда. Бұл мобильді қосымшалардың ең көп тарағандары әртүрлі ойындар мен қарым-қатынас жасауға арналған әлеуметтік желілер және көптеген электрондық коммерциялық қосымшаларды атауға болады. Барлық қосымшалар, егер кәсіби түрде құрастырылса, мобильді қосымшалар адам өміріндегі күнделікті ісәрекетін жеңілдету үрдісіне пайдасы мол болмақ.