kali linux
JF-Expert Member
- May 21, 2017
- 1,996
- 5,054
Hello world...
Kwenye dunia ya technology hasa hasa computer programming chaguo sahihi la technologies za kutumia ili kutatua tatizo au kutengeneza kitu fln ni muhimu sana.
Kufanya chaguo hilo kunategemea na skillset ya engineer anaehusika na pia environment ambapo product hio ita-run
Leo napenda kushare stack nnazozitumia kwenye kazi zangu mbalimbali za programming kwa sababu naamini kuna beginners watanufaika na au hata professionals wanaweza kudiscuss na aidha kuadapt hz stack au kufanya mm niadapt suggestion zao. Twende moja kwa moja kwenye mada....
NOTE: Simple things should be done in simple ways
1)WEB & WEB BASED SYSTEMS DEVELOPMENT
Hapa kama ni simple to medium Web system projects huwa natumia ReactJS kwenye front end na php kwenye backend. Ukitokea ulazima sana* ntatumia framework hasahasa laravel. Lkn mara nyingi napendelea kuandika APIs zangu from scratch coz inanipa overall control japo najua inakuja na gharama yake ila inakua ndani ya uwezo wangu.
Kama ni plain content based system eg Blog au News based site huwa natumia WordPress kisha naandika themes na plugins ili kukidhi matakwa yangu na ya mteja endapo kuna ulazima huo. Pia kama mtu anataka simple ecommerce web na bajeti yake sio kubwa sana huwa natumia WooCommerce then naiextend kwa plugins zangu kama hapo kwenye WordPress
2)MOBILE APP (ANDROID)
Kabla ya kuendelea nikubali kwanza napenda android dev ya java coz inakupa real flavor ya AndroidOS na mechanics za lifecycle nzima ya app ambayo ndio kiini cha matumizi ya hio OS. Kama unataka kuielewa kweli AndroidOS basi code Apps in Java. Hivyo stack yangu kwenye hii part inaweza kuwa biased na hio issue.
Kwa simple Apps zisizohitaji Native support kwa wingi natumia React Native. Kwa apps zinazohitaji native support kwa wingi huwa natumia Java na XML kwenye styling.
Ofcourse kotlin na flutter zinakuja kwa kasi lakini bado napendelea Java kwenye android development.
3)DESKTOP APP DEVELOPMENT.
Hapa inategemea kutokana na categories zifuatazo
a)Kama app ni client tu kwa ajili ya webbased system huwa natumia ElectronJS framework. Hapo ntatumia CSS, React na NodeJS
b)Kama app inahitaji local database mfano labda ni business management software huwa natumia stack hiohio kama hapo kwenye (a) lakini database natumia IndexedDb ambayo ipo available kwenye kila browser. Nmeongelea browser coz ElectronJS kiukweli ni browser environment kwa ajili ya desktop app yako, so features zote ambazo ungezipata kwenye browser unazipata pia kwenye ElectronJS. Tofauti ya electron na browser ni kwamba inakupa native access kwenye Operating system kupitia NodeJS integration. So unaweza tengeneza hata adobe photoshop yako kwa kutumia browser based technologies. Na ndio maana ni chaguo kwa desktop apps nyingi kwa sasa ikiwemo Atom IDE.
IndexedDb yenyewe kama yenyewe ni ngumu sana kuitumia so mara nyingi natumia Lovefield.js kama wrapper, lovefield pia inatumiwa na Gmail web version kutunza local data kama opened emails etc.... Tutorials zake ni chache sana lkn inakupa MySql-like database kwenye browser so kuitumia inabidi uwe na tabia ya kusoma directly documentaion husika kwanza. Japo it worth it coz performance yake ni nzr na ina queries zinazoendana na SQL
4)DAPPS (BLOCKCHAIN BASED APPS)
Hapa kuna truffleJS, solidity (kuandika contracts) na front end huwa natumia ReactJs pamoja na bootstrap. Kwa kuwa dapps zote nlizoandika bado hazijawa deployed kwa ajili ya production na kuwa na real user base basi siwezi toa comment khs perfomance na efficiency ya hii stack kwa app inayopaswa kuwepo kwenye market. Japo kwa nisikiavyo hio ndio popular stack kwa sasa kwenye ulimwengu wa Dapps
Conclusion:
Japo market ya tech kwa Tanzania bado ina changamoto ila kama mtu anatafuta beginner guide ya ajifunze stack zipi basi anaweza tumia hio hapo juu kwa kuanzia na kuwa anamodify kadiri anavyopata uzoefu. Mfano ukitumia sana ReactJS utakuja kuona uhitaji wa NextJS kutokana na requirements na mazingira.
Peace
~Kali Linux
Kwenye dunia ya technology hasa hasa computer programming chaguo sahihi la technologies za kutumia ili kutatua tatizo au kutengeneza kitu fln ni muhimu sana.
Kufanya chaguo hilo kunategemea na skillset ya engineer anaehusika na pia environment ambapo product hio ita-run
Leo napenda kushare stack nnazozitumia kwenye kazi zangu mbalimbali za programming kwa sababu naamini kuna beginners watanufaika na au hata professionals wanaweza kudiscuss na aidha kuadapt hz stack au kufanya mm niadapt suggestion zao. Twende moja kwa moja kwenye mada....
NOTE: Simple things should be done in simple ways
1)WEB & WEB BASED SYSTEMS DEVELOPMENT
Hapa kama ni simple to medium Web system projects huwa natumia ReactJS kwenye front end na php kwenye backend. Ukitokea ulazima sana* ntatumia framework hasahasa laravel. Lkn mara nyingi napendelea kuandika APIs zangu from scratch coz inanipa overall control japo najua inakuja na gharama yake ila inakua ndani ya uwezo wangu.
Kama ni plain content based system eg Blog au News based site huwa natumia WordPress kisha naandika themes na plugins ili kukidhi matakwa yangu na ya mteja endapo kuna ulazima huo. Pia kama mtu anataka simple ecommerce web na bajeti yake sio kubwa sana huwa natumia WooCommerce then naiextend kwa plugins zangu kama hapo kwenye WordPress
2)MOBILE APP (ANDROID)
Kabla ya kuendelea nikubali kwanza napenda android dev ya java coz inakupa real flavor ya AndroidOS na mechanics za lifecycle nzima ya app ambayo ndio kiini cha matumizi ya hio OS. Kama unataka kuielewa kweli AndroidOS basi code Apps in Java. Hivyo stack yangu kwenye hii part inaweza kuwa biased na hio issue.
Kwa simple Apps zisizohitaji Native support kwa wingi natumia React Native. Kwa apps zinazohitaji native support kwa wingi huwa natumia Java na XML kwenye styling.
Ofcourse kotlin na flutter zinakuja kwa kasi lakini bado napendelea Java kwenye android development.
3)DESKTOP APP DEVELOPMENT.
Hapa inategemea kutokana na categories zifuatazo
a)Kama app ni client tu kwa ajili ya webbased system huwa natumia ElectronJS framework. Hapo ntatumia CSS, React na NodeJS
b)Kama app inahitaji local database mfano labda ni business management software huwa natumia stack hiohio kama hapo kwenye (a) lakini database natumia IndexedDb ambayo ipo available kwenye kila browser. Nmeongelea browser coz ElectronJS kiukweli ni browser environment kwa ajili ya desktop app yako, so features zote ambazo ungezipata kwenye browser unazipata pia kwenye ElectronJS. Tofauti ya electron na browser ni kwamba inakupa native access kwenye Operating system kupitia NodeJS integration. So unaweza tengeneza hata adobe photoshop yako kwa kutumia browser based technologies. Na ndio maana ni chaguo kwa desktop apps nyingi kwa sasa ikiwemo Atom IDE.
IndexedDb yenyewe kama yenyewe ni ngumu sana kuitumia so mara nyingi natumia Lovefield.js kama wrapper, lovefield pia inatumiwa na Gmail web version kutunza local data kama opened emails etc.... Tutorials zake ni chache sana lkn inakupa MySql-like database kwenye browser so kuitumia inabidi uwe na tabia ya kusoma directly documentaion husika kwanza. Japo it worth it coz performance yake ni nzr na ina queries zinazoendana na SQL
4)DAPPS (BLOCKCHAIN BASED APPS)
Hapa kuna truffleJS, solidity (kuandika contracts) na front end huwa natumia ReactJs pamoja na bootstrap. Kwa kuwa dapps zote nlizoandika bado hazijawa deployed kwa ajili ya production na kuwa na real user base basi siwezi toa comment khs perfomance na efficiency ya hii stack kwa app inayopaswa kuwepo kwenye market. Japo kwa nisikiavyo hio ndio popular stack kwa sasa kwenye ulimwengu wa Dapps
Conclusion:
Japo market ya tech kwa Tanzania bado ina changamoto ila kama mtu anatafuta beginner guide ya ajifunze stack zipi basi anaweza tumia hio hapo juu kwa kuanzia na kuwa anamodify kadiri anavyopata uzoefu. Mfano ukitumia sana ReactJS utakuja kuona uhitaji wa NextJS kutokana na requirements na mazingira.
Peace
~Kali Linux