අපි කලින් ලිපි වලදී කතා කල කොහොමද දක්ෂ front-end developer කෙනෙක් වෙන්නේ කියල...එහෙමත් නැතිනම් කොහොමද හොද web designer කෙනෙක් වෙන්නේ කියල.... අද අපි කතා කරමු අපි මොනාද ඉදිරියට කරන්න ඕනි කියල....
ඔයාට දක්ෂ web developer කෙනෙක් වෙන්න ඕනි නම් ඔයා ඉදිරියම මේ දේවල් ඉගන ගන්න වෙනවා...
ඔයාට 2nd year Software project එක කරන වෙලාවට අනිවාර්යන්ම මේ අත්දැකීමට මුහුණ දෙන්න වෙනවා.... සමහර වෙලාවට ඔයාට project එක ඔය කැමති technology එකක් use කරලා කරන්න කියයි.... සමහරවිට එයාල කියන technology එක use කරන්න වෙයි... එක ඒ ඒ project එක අනුව තමා.....
කොහොමහරි ඔයා server side programming language එකක් ඉගන ගන්න පටන් ගන්නවානම් ඔයාට තේරීම් කිහිපයක්ම තියනවා......
හරි දැන් ඔයාට server side language ගැනත් හොද අවබෝදයක් තියනවා..... ඊළගට ඔයා database ටිකක් ඉගන ගන්න..... හොද wed developer කෙනෙක් වෙන්න එකත් ගොඩක් වටිනවා.... මොකද ඔය develop කරන app එකේ තියන data ඒ කියන්නේ උදාහරණයක් විදිහට facebook එක ගන්නකෝ.... එකේ තියන user details ඒ කියන්නේ අපේ නම ගම විසතර ඊළගට අපේ profile picture අපි upload කරන images වගේ දේවල් store කරලා තියාගන්න අපිට database එකක් ඕනි වෙනවා..... එක නිසා දක්ෂ web developer කෙනෙක් වෙන්න ඔය බලාපොරොත්තු වෙනවනම් database ගැන ඔයාට තියන දැනුමත් ගොඩක් වැදගත් වෙනවා......
database ඉගන ගද්දි ඔයාට ඉගන ගන්න ප්රධාන database වර්ග දෙකක් තියනවා....
1. relational database (ex-: SQL ,mySQL , PostgreSQL)
2. non relational database (ex-: mongoDB , CouchDB)
මේකෙදි ඔය use කරන sever side language එකට අනුව ගැලපෙන database use කරන එක තමා වඩාත් හොද.....
php - mysql
node.js - mongoDB
හරි දැන් ඔයාට web developing ගැන සැහෙන්න දුරට හොඳ දැනුමක් තියනවා...... දැන් ඔයාට තියෙන්නේ ඔයාගේ හැකියාව පොඩ්ඩක් polish කරගන්න එක.... එකට ඔයා පොඩි side technologies ටිකක් තියනවා ඉගන ගන්න අවශ්ය වෙන...මේවා පොඩි side technologies කිව්වට industry එකට ගියාම ඔයාට ඉතාම වැද්ගත් වෙනවා......
ඔයා ඉගන ගන්න ඕනි කරන වැදගත් side technologies ටිකක් පහල මම දීල තියනවා.... මේවා එකින් එක විස්ටර කරන්න අද මම බලාපොරොත්තු වෙන්නේ නැහැ.... එත් ඉදිරි ලිපි පෙලකින් මේවා ගැන පොඩි විස්ටතරයක් දෙන්න අපි උත්සහ කරන්නම්......
1. git - version control & github
2. SSH and basic command line
3. CSS precompilers - Sass/Less
4. APIS/REST services
5. HTTPS/SSL
දැන්නම් ලිපිය ඔනිවටත් වඩා දිග වැඩි වීගෙන එන්නේ...එක නිසා මෙතනින් ඉස්සරහට තියන ටික මම කෙටියෙන් විස්තට කරන්නම්.....
හරි දැන් ඔයාට ඔයාගෙම web app එකක් හදාගන්න හොද හැකියාවක් තියනවා..... ඊළගට ඔයාට කරන්න තියෙන්නේ ඔය develop කරපු මේ app එක host කරන එක...... සරලව කියනවනම් ඔය develop කරපු app එක internet එකට දාන එක.... එකට ඔයා පොඩි දේවල් ටිකක් ඉගන ගන්න ඕනි....
හරි ඔන්න දැන්නම් ඔයා පරිපූර්ණ web developer කෙනෙක්.... දැන් ඔයා සරල app එකක ඉඳල සංකීරණ app එකක් වෙනකන් ඔයාගෙම web app ටිකක් හදන්න...... ඔයාට දැන් web server එක්ක ගනුදෙනු කරන්නත් පුලුවන්.....දැන් පොඩි back end API එකක් එහෙම හදන්න උත්සහයක් දෙන්න.... free lancer වැඩ ටිකක් හොයාගෙන කරන්න......
ඔයා free lancer වැඩ ටිකක් හොයාගෙන කරද්දී ඔයාට ටික කාලයක්තෙ යද්දී තේරෙයි සමහර දේවල් ටිකක් ඉක්මනට කරගන්න තිබුනනම් කියල....එහෙමත් නැත්තන් මේ වැඩේ තව ටිකක් පිළිවෙලට කරන්න තිබුනනම් කියල.....
හරි එහෙනම් ඔයාට කරන්න තියන හොදම දේ තමා web framework එකක් ඉගන ගන්න එක......මම මුලින්ම framework එකක් කියන්නේ මොකද්ද කියල සරලව කියල ඉන්නම්කො.......what is web framework කියල net එකේ search කලාම එන්නේ මෙන්න මේක.... A web framework or web application framework is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs.
මොකුත්ම තේරුනේ නැහැනේ නේද..... හරි ඔය මෙහෙම හිතන්න..... ඔයාට ඔයාගේ රෙදි ටික හෝදන්න උනාම ඔය මොකද කරන්නේ..... රෙදි ටික අරන් වතුරේ දල සබන් ගාල අපුල්ලලා අයෙත් හෝදලා මිරිකලා අව්වේ දානවා.... ලොකු වැඩ ගොඩක් කරන්න තියනවා..... ඉවර වෙද්දී මහන්සිත් එක්ක.... එත් ඔය හිතන්න ඔයාට washing machine එකක් තියනවා කියල.... එතකොට ඔය මොකද කරන්නේ.... රෙදි ටික washing machine එකට දාල එකේ තියන option use කරලා ලේසියෙන්ම රෙදි ටික හෝදගන්නවා.....
Framework එකකින් කෙරෙන්නෙත් අසන්න වශයෙන් ඒ වගේ දෙයක් තමා...... ඒ කියන්නේ උදාහරණයක් විදිහට අපි web application එකක් develop කරනවානම් අපිට සිද්දවෙනවා database එකට connect කරන එක එහෙම manually කරන්න..... එත් අපි framework එකක් use කරනවානම් ඒ වගේ දේවල් framework එකෙන්ම කරලා දෙනවා......
ඔයා framework එකක් තොරගද්දී ඔයා කැමති language එක අනුව තෝරාගන්න පුළුවන්..... හැබැයි වඩාත් සුදුසු ඔයා develop කරන app එකේ තියන features අනුව අදාල framework එක තෝරාගන්න එක....... පහල තියෙන්නේ එක එක programming language එකෙන් build වුන frameworks.....
1. php - Symfony , Laravel
2. java - Spring MVC , JSF , GWT , Spring Boot
3. JavaScript - Angular , Vue.js , React.js , Ember.js
4. python - dJango , flask
5. C# - asp.net
හරි මේ දේවල් ටික හරියට ඉගන ගත්ත කියන්නේ දැන්නම් ඔය දක්ෂ web developer කෙනෙක් කියල කියන්න පුළුවන්....
තව දුරටත් ඔයාට ඕනිනම් content management system එකක් ඒ කියන්නේ wordpress , joomla , drupal වගේ එකක් ඉගන ගන්න පුලුවනන්ම් ඔයාට free lancer වැඩ කරගන්න වේවි....
හිතුවටත් වඩා ලිපිය ගොඩක් දිග උනා.... එත් how to be a web developer ලිපි මාලාව මේකෙන් සම්පුර්ණ කරගන්න පුළුවන් උනා කියල මම හිතනවා...... ඉතින් ඔයාලත් අදම වැඩ පටන් ගන්න..... මම කලින් ලිපි වලදී කිව්වා වගේ ඔයාට උනන්දුවයි උත්සහයයි තියනවනම් web developing පැත්තෙන් ඉස්සරහට යන එක ඉතාම ලේසි වැඩක්..... හරි එහෙනම් මම අදට මෙතනින් නවතිනවා.... ඔයාලටත් web developing වලට ආසාවක් ඇති.... ඒ වගේම තව දන්නා දේවල් ඇති.... ඉතින් ඔයාල web developing ගැන දන්නා දේවල් comment කරන්න.... ඉදිරි ලිපි වලදී කතා කරන්න ඕනි හොඳයි කියල හිතෙන දේවල් තියනවනම් comment කරන්න..... එහෙනම් හැමෝටම ජයවේවා....!
හැමෝටම සුභ දවසක්...

How to be a Web Developer-01
How to be a Web Developer-02
ඔයාට දක්ෂ web developer කෙනෙක් වෙන්න ඕනි නම් ඔයා ඉදිරියම මේ දේවල් ඉගන ගන්න වෙනවා...

- Server Side Language (php , JavaScript , Ruby...)
- Some JavaScript Frameworks (React , Angular...)
- Database (MySQL , MongoDB ...)
- Side Technologies
ඔයාට 2nd year Software project එක කරන වෙලාවට අනිවාර්යන්ම මේ අත්දැකීමට මුහුණ දෙන්න වෙනවා.... සමහර වෙලාවට ඔයාට project එක ඔය කැමති technology එකක් use කරලා කරන්න කියයි.... සමහරවිට එයාල කියන technology එක use කරන්න වෙයි... එක ඒ ඒ project එක අනුව තමා.....
කොහොමහරි ඔයා server side programming language එකක් ඉගන ගන්න පටන් ගන්නවානම් ඔයාට තේරීම් කිහිපයක්ම තියනවා......
- php
- node.js
- python
- Ruby
හරි දැන් ඔයාට server side language ගැනත් හොද අවබෝදයක් තියනවා..... ඊළගට ඔයා database ටිකක් ඉගන ගන්න..... හොද wed developer කෙනෙක් වෙන්න එකත් ගොඩක් වටිනවා.... මොකද ඔය develop කරන app එකේ තියන data ඒ කියන්නේ උදාහරණයක් විදිහට facebook එක ගන්නකෝ.... එකේ තියන user details ඒ කියන්නේ අපේ නම ගම විසතර ඊළගට අපේ profile picture අපි upload කරන images වගේ දේවල් store කරලා තියාගන්න අපිට database එකක් ඕනි වෙනවා..... එක නිසා දක්ෂ web developer කෙනෙක් වෙන්න ඔය බලාපොරොත්තු වෙනවනම් database ගැන ඔයාට තියන දැනුමත් ගොඩක් වැදගත් වෙනවා......
database ඉගන ගද්දි ඔයාට ඉගන ගන්න ප්රධාන database වර්ග දෙකක් තියනවා....
1. relational database (ex-: SQL ,mySQL , PostgreSQL)
2. non relational database (ex-: mongoDB , CouchDB)
මේකෙදි ඔය use කරන sever side language එකට අනුව ගැලපෙන database use කරන එක තමා වඩාත් හොද.....
php - mysql
node.js - mongoDB
හරි දැන් ඔයාට web developing ගැන සැහෙන්න දුරට හොඳ දැනුමක් තියනවා...... දැන් ඔයාට තියෙන්නේ ඔයාගේ හැකියාව පොඩ්ඩක් polish කරගන්න එක.... එකට ඔයා පොඩි side technologies ටිකක් තියනවා ඉගන ගන්න අවශ්ය වෙන...මේවා පොඩි side technologies කිව්වට industry එකට ගියාම ඔයාට ඉතාම වැද්ගත් වෙනවා......
ඔයා ඉගන ගන්න ඕනි කරන වැදගත් side technologies ටිකක් පහල මම දීල තියනවා.... මේවා එකින් එක විස්ටර කරන්න අද මම බලාපොරොත්තු වෙන්නේ නැහැ.... එත් ඉදිරි ලිපි පෙලකින් මේවා ගැන පොඩි විස්ටතරයක් දෙන්න අපි උත්සහ කරන්නම්......
1. git - version control & github
2. SSH and basic command line
3. CSS precompilers - Sass/Less
4. APIS/REST services
5. HTTPS/SSL
දැන්නම් ලිපිය ඔනිවටත් වඩා දිග වැඩි වීගෙන එන්නේ...එක නිසා මෙතනින් ඉස්සරහට තියන ටික මම කෙටියෙන් විස්තට කරන්නම්.....
හරි දැන් ඔයාට ඔයාගෙම web app එකක් හදාගන්න හොද හැකියාවක් තියනවා..... ඊළගට ඔයාට කරන්න තියෙන්නේ ඔය develop කරපු මේ app එක host කරන එක...... සරලව කියනවනම් ඔය develop කරපු app එක internet එකට දාන එක.... එකට ඔයා පොඩි දේවල් ටිකක් ඉගන ගන්න ඕනි....
- dedicated servers / VPS
- App hosting - Heroku , Digital Ocean , AWS
- Deploy tools
- Linux Command Line
- Maintenance & update your app
හරි ඔන්න දැන්නම් ඔයා පරිපූර්ණ web developer කෙනෙක්.... දැන් ඔයා සරල app එකක ඉඳල සංකීරණ app එකක් වෙනකන් ඔයාගෙම web app ටිකක් හදන්න...... ඔයාට දැන් web server එක්ක ගනුදෙනු කරන්නත් පුලුවන්.....දැන් පොඩි back end API එකක් එහෙම හදන්න උත්සහයක් දෙන්න.... free lancer වැඩ ටිකක් හොයාගෙන කරන්න......
ඔයා free lancer වැඩ ටිකක් හොයාගෙන කරද්දී ඔයාට ටික කාලයක්තෙ යද්දී තේරෙයි සමහර දේවල් ටිකක් ඉක්මනට කරගන්න තිබුනනම් කියල....එහෙමත් නැත්තන් මේ වැඩේ තව ටිකක් පිළිවෙලට කරන්න තිබුනනම් කියල.....
හරි එහෙනම් ඔයාට කරන්න තියන හොදම දේ තමා web framework එකක් ඉගන ගන්න එක......මම මුලින්ම framework එකක් කියන්නේ මොකද්ද කියල සරලව කියල ඉන්නම්කො.......what is web framework කියල net එකේ search කලාම එන්නේ මෙන්න මේක.... A web framework or web application framework is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs.
මොකුත්ම තේරුනේ නැහැනේ නේද..... හරි ඔය මෙහෙම හිතන්න..... ඔයාට ඔයාගේ රෙදි ටික හෝදන්න උනාම ඔය මොකද කරන්නේ..... රෙදි ටික අරන් වතුරේ දල සබන් ගාල අපුල්ලලා අයෙත් හෝදලා මිරිකලා අව්වේ දානවා.... ලොකු වැඩ ගොඩක් කරන්න තියනවා..... ඉවර වෙද්දී මහන්සිත් එක්ක.... එත් ඔය හිතන්න ඔයාට washing machine එකක් තියනවා කියල.... එතකොට ඔය මොකද කරන්නේ.... රෙදි ටික washing machine එකට දාල එකේ තියන option use කරලා ලේසියෙන්ම රෙදි ටික හෝදගන්නවා.....
Framework එකකින් කෙරෙන්නෙත් අසන්න වශයෙන් ඒ වගේ දෙයක් තමා...... ඒ කියන්නේ උදාහරණයක් විදිහට අපි web application එකක් develop කරනවානම් අපිට සිද්දවෙනවා database එකට connect කරන එක එහෙම manually කරන්න..... එත් අපි framework එකක් use කරනවානම් ඒ වගේ දේවල් framework එකෙන්ම කරලා දෙනවා......
ඔයා framework එකක් තොරගද්දී ඔයා කැමති language එක අනුව තෝරාගන්න පුළුවන්..... හැබැයි වඩාත් සුදුසු ඔයා develop කරන app එකේ තියන features අනුව අදාල framework එක තෝරාගන්න එක....... පහල තියෙන්නේ එක එක programming language එකෙන් build වුන frameworks.....
1. php - Symfony , Laravel
2. java - Spring MVC , JSF , GWT , Spring Boot
3. JavaScript - Angular , Vue.js , React.js , Ember.js
4. python - dJango , flask
5. C# - asp.net
හරි මේ දේවල් ටික හරියට ඉගන ගත්ත කියන්නේ දැන්නම් ඔය දක්ෂ web developer කෙනෙක් කියල කියන්න පුළුවන්....
තව දුරටත් ඔයාට ඕනිනම් content management system එකක් ඒ කියන්නේ wordpress , joomla , drupal වගේ එකක් ඉගන ගන්න පුලුවනන්ම් ඔයාට free lancer වැඩ කරගන්න වේවි....
හිතුවටත් වඩා ලිපිය ගොඩක් දිග උනා.... එත් how to be a web developer ලිපි මාලාව මේකෙන් සම්පුර්ණ කරගන්න පුළුවන් උනා කියල මම හිතනවා...... ඉතින් ඔයාලත් අදම වැඩ පටන් ගන්න..... මම කලින් ලිපි වලදී කිව්වා වගේ ඔයාට උනන්දුවයි උත්සහයයි තියනවනම් web developing පැත්තෙන් ඉස්සරහට යන එක ඉතාම ලේසි වැඩක්..... හරි එහෙනම් මම අදට මෙතනින් නවතිනවා.... ඔයාලටත් web developing වලට ආසාවක් ඇති.... ඒ වගේම තව දන්නා දේවල් ඇති.... ඉතින් ඔයාල web developing ගැන දන්නා දේවල් comment කරන්න.... ඉදිරි ලිපි වලදී කතා කරන්න ඕනි හොඳයි කියල හිතෙන දේවල් තියනවනම් comment කරන්න..... එහෙනම් හැමෝටම ජයවේවා....!
හැමෝටම සුභ දවසක්...


How to be a Web Developer-01
How to be a Web Developer-02