Pag-unlad ng Software: Isang makasaysayang pagsusuri hanggang sa kasalukuyang araw
Ang Software Development (SD) ay may mga natatanging katangian mula pa noong umpisa hanggang sa kasalukuyan. Mula sa simula, ang mundo ng Software Development ay nahahati sa dalawa: Free and Open Source Software Development at Proprietary and Closed Source Software Development.
At lahat ng ito, naman, ay nagpasiklab ng isang karera sa bawat mundo ng DS upang makagawa ng magkakatulad na uri ng software, na kalaunan ay humantong sa iba't ibang uri ng mga aplikasyon. Kaya, ang DS ang nagbigay-daan sa una at kasalukuyang System Software (SS), pagkatapos ay sa Programming Software (SP), at sa huli ay sa Application Software (AS). At ang mga huling aplikasyon na ito, naman, ay mula sa tradisyonal na Native Applications—ibig sabihin, maaaring i-install at ispesipiko sa bawat Operating System (OS)—hanggang sa mga makabagong Distributed Applications na tumatakbo sa Internet sa isang Blockchain.

software
Halos kasabay ng pagsilang ng SS, na siyang OS mismo , at sumasaklaw sa mga device driver, system utilities, at lahat ng tool na ginagamit para sa partikular na pagkontrol sa mga katangian ng computer, ibig sabihin, lahat ng mga program na nagpapadali sa pamamahala ng mga elemento ng Hardware (HW), tulad ng: memory, disk, port, device, at peripheral, isinilang din ang SP at SA.
Kasama sa mga software package (SP) ang mga produktong software na ginagamit ng mga programmer upang bumuo ng iba pang mga programa sa computer gamit ang iba't ibang mga lengguwahe ng programming at/o mga database. Karaniwang kinabibilangan ng mga SP ang mga text editor, compiler, interpreter, linker, at debugger. Kasama rin dito ang Integrated Development Environments (IDE), na mga software package na pinagsasama-sama ang lahat ng kinakailangang tool, na nabanggit sa itaas, sa isang kapaligiran (karaniwan ay isang graphical user interface, o GUI) upang masakop ang kumpletong lifecycle ng pagbuo ng programa.
At ang kategoryang SA ay sumasaklaw sa software na ginagamit ng mga (end) user upang maisakatuparan ang isang gawain. Sa pangkalahatan, kabilang sa SA ang mga office suite, graphic design o multimedia software, accounting o administrative software, para lamang pangalanan ang isang maliit na bahagi ng lahat ng kategorya ng application na matatagpuan natin sa kategoryang ito. Samakatuwid, ang SA, o simpleng isang application, ay tungkol sa
Anumang programa na nagpapahintulot sa isang end user na magsagawa ng iba't ibang mga gawain sa isang computer, laptop, tablet, mobile phone o iba pang mga uri ng kagamitan o mga teknolohikal na platform.

aplikasyon
Ang mga Aplikasyon (Apps) noong mga unang araw ng computing ay nailalarawan sa pamamagitan ng mahalagang pangangailangan ng pag-install para magamit, at sa loob lamang ng iisang, tiyak, at katutubong operating system. Gayunpaman, sa paglipas ng panahon at pagsulong ng agham at teknolohiya ng computer, umunlad ang mga app, na nagkakaroon ng mga tampok tulad ng portability, cross-platform compatibility, modularity, at scalability. Kaya naman, ngayon ay mayroon tayong maraming uri ng app, mula sa tradisyonal na katutubong app hanggang sa makabagong distributed app.
pagtanggap sa bagong kasapi
Ang mga katutubong aplikasyon, ang mga partikular na binuo para sa isang partikular na operating system, karaniwang gumagamit ng Software Development Kit (SDK), ang mga unang nilikha. Ang pangunahing katangian ng mga app na ito ay ang kanilang kumpletong integrasyon sa mga functionality at feature ng device o platform, na nagreresulta sa mas mahusay na karanasan ng user. Samakatuwid, ang mga ito ay may posibilidad na magmukhang at gumana nang mas mahusay sa kanilang katutubong kapaligiran, pati na rin tumakbo nang mas maayos at maaasahan. Gayunpaman, kadalasan ay may mas mataas na gastos sa pag-develop ang mga ito kung kinakailangan ng bagong app para sa bawat bersyon ng katutubong operating system.
Kasabay ng pag-unlad ng teknolohiya, umusbong ang mga Web Application, na kilala rin bilang WebApps . Ito ay mga application na tumatakbo nang naka-embed sa loob ng isang web page o website sa pamamagitan ng isang internet browser. Samakatuwid, maaari silang tumakbo sa halos anumang internet browser at sa anumang uri ng computer, device, o platform. At halos lahat ng maaaring gawin sa kanilang web format ay maaaring gawin sa kanilang mai-install na native application format.
Ang mga Hybrid Application ay lumitaw mula sa kombinasyon ng dalawang naunang pamamaraan. Ito ay mga app na binuo gamit ang mga wikang tipikal ng mga WebApp, na nagpapahintulot sa kanilang paggamit sa iba't ibang platform , ngunit may kakayahan ang mga Native Apps na ma-access ang malaking bahagi ng mga tampok ng hardware ng computer, device, o platform kung saan sila tumatakbo. Sa madaling salita, sinasamantala nila nang husto ang versatility ng web development at ang hardware adaptability ng mga Native Apps.
Ipakita
Sa kasalukuyan, binubuo ang mga Progressive Web Apps (PWA). Ito ay mga web page na gumagamit ng mga Service Worker at iba pang teknolohiya, na kumikilos na parang mga Native Apps at hindi gaanong parang mga Web Apps. Habang tumatakbo ang mga Service Worker at iba pang teknolohiya sa background, ang application mismo ay tumatakbo sa loob ng web browser.
Panghuli, ang mga kasalukuyang app ay lumilipat na sa format ng Distributed Applications, na kilala rin bilang Decentralized Applications (DApps). Ito ay mga decentralized app na gumagamit ng blockchain platform upang payagan ang mga user na direktang makipag-ugnayan at magsagawa ng mga transaksyon (mga kasunduan) nang walang pamamagitan ng isang sentral na entity na namamahala sa serbisyo. Dahil dito, sa isang DApp, ang bawat user ay isang node sa isang decentralized network kung saan ang lahat ng node ay sama-samang kumikilos bilang isang pandaigdigang notaryo ng anumang transaksyong ginawa sa platform.
Konklusyon
Ang mundo ng pagbuo ng software, na nakalubog sa pinakasentro ng agham at teknolohiya, ay patuloy na umuunlad at umuunlad. Kaya naman, mula sa mga installable software (native apps), maraming iba pang anyo ng mga aplikasyon ang lumitaw (web, hybrid, progressive, distributed).
Mga anyong tiyak na malapit nang magbigay daan sa mga bago at makabagong anyo ng mga App, na maaapektuhan ng paggamit ng kasalukuyan at nagbabagong mga teknolohiya , tulad ng Big Data, Deep Learning, Artificial Intelligence, at ang mga patuloy na nagbabagong teknolohiya tulad ng Cloud Computing at Blockchain.