அனைத்து தளங்களிலும் செயல்படும் பயன்பாடுகளை உருவாக்குவதற்கான BeeWare , Kivy எனும்கருவிகள்

கணினிகளில் தற்போது நாமெல்லோராலும் பயன்படுத்தி கொண்டுவரும் பெரும்பாலான பயன்பாடு களானவை கணினிகளில் மட்டுமல்லாது திறன்பேசிகள் கைபேசிகள் போன்ற எல்லா வற்றிலும் பயன்பாட்டில் உள்ளன.இவை திறன்பேசிகள் போன்ற சாதனங்களின் பிரபலமாக பயன்படுத்தி கொள்வதற்கு முக்கிய காரணங்களில் ஒன்று அவற்றில் பயன்படுத்தி கொள்ளப்படும் எண்ணற்ற பயன்பாடுகளின் கிடைக்கும் தன்மையாகும். பொதுவாக பயன்பாடுகளை உருவாக்கும் திறமையானது மென்பொருள் உருவாக்குநர்கள் பெற விரும்பும் ஒரு முக்கியமான திறமையாகும். இந்நாட்களில்(தற்போது) ஆண்ட்ராய்டு, iOS, ராஸ்பெர்ரி பை போன்ற பல்வேறு தளங்கள் நடைமுறை பயன்பாட்டில் இருப்பதால், இவை அனைத்தையும் கடந்து இயங்கும் பயன்பாடுகளை உருவாக்குவது என்பது அதன் நிலைத்தன்மை, ஒருமை குறியீடு போன்ற பல்வேறு நன்மைகளைக் கொண்டுள்ளது. எனவே,அனைத்து தள( குறுக்கு-தள)ங்களிலும் செயல்படும்திறன்மிக்க பயன்பாடுகளை உருவாக்குகின்றசெயல் தற்போது பயன்பாடு மேம்படுத்துநர்களிடையே பிரபலமான செயலாகி வருகிறது.ஒரு பயன்பாட்டை உருவாக்கும்போது அதனை தேர்ந்தெடுக்க பல்வேறு கணினி மொழிகள் உள்ளன. எடுத்துக்காட்டாக, ஆண்ட்ராய்டு பயன்பாட்டை உருவாக்க விரும்பினால், ஜாவா, கோட்லின் , பைதான் , சி / சி ++ / சி #ஆகிய கணினிமொழிகளில் அதனை உருவாக்கமுடியும்
இவை தவிர, கைபேசிபயன்பாடுகளை உருவாக்க HTML, CSS , JavaScript போன்ற இணைய தொழில் நுட்பங்களையும் பயன்படுத்திகொள்ளலாம். மேலே பட்டியலிடப்பட்ட கணினி மொழிகள் ஆண்ட்ராய்டு எனும் ஒரே தளத்தை மட்டுமே உள்ளடக்குகின்றன . அதேபோல், ராஸ்பெர்ரி பை , iOS போன்ற ஒவ்வொரு தளத்திற்கும் பல்வேறு கணினி மொழிகளின் வாய்ப்புகள் உள்ளன.
எந்தவொரு பயன்பாட்டின் மேம்பாட்டிற்கு எந்தவொரு குறிப்பிட்ட கணினிமொழியைத் தேர்ந்தெடுப்பது என்பது அந்த பயன்பாட்டின் தன்மை, இலக்கு பயனாளர் தளம் , கிடைக்கும் நிபுணத்துவம் போன்ற பல்வேறு காரணிகளைப் பொறுத்ததாகும். IEEE Spectrum அறிக்கையின்படி, 2019 ஆம் ஆண்டில் கணினி மொழி தரவரிசை பட்டியலில் பைத்தான் முதலிடத்தில் இருந்தது. அதிக எண்ணிக்கையிலான பைதான் மேம்படுத்துநர்கள் கிடைப்பதாலும், இந்த கணினி மொழியைக் கற்பதற்கு எளிமையானதாக இருப்பதாலும், சிறப்பு வரைச்சட்ட கட்டமைப்பை நூலகங்களைக் கொண்ட பயன்பாட்டு மேம்பாட்டுக்கு இது ஒரு சிறந்த தேர்வாகஅமைந்துள்ளது .
அதனோடு குறுக்கு-தள பயன்பாடுகளை உருவாக்கிடும் நோக்கத்திற்காக, பைத்தானில் BeeWare ,Kivy ஆகிய இரண்டு முக்கியமான வாய்ப்புகள் உள்ளன:
இந்த இரண்டு வரைச்சட்ட கட்டமைப்புகளுக்கும் ஒருசில பொதுவான தன்மைகளும் வேறுபாடுகளும் உள்ளன. இந்த வரைச்சட்ட கட்டமைப்புகளைப் பயன்படுத்தி நம்முடைய முதன் முதலான பயன்பாட்டை உருவாக்குவதில் உள்ள படிமுறைகள் பற்றிய அறிமுகத்தை இங்கு காண்போம்.
1.Kivyஎனும் வரைச்சட்ட கட்டமைப்பு
இது ஒரு கட்டற்ற பைதான் நூலகமாகும். பயன்பாடுகளின் விரைவான மேம்பாட்டிற்கு இதைப் பயன்படுத்தலாம். இது பலதொடுதல்(multi-touch ) போன்ற வசதிகளை ஆதரிக்கிறது. இதனுடைய முக்கிய வசதிவாய்ப்புகள் பின்வருமாறு
அண்ட்ராய்டு, iOS, ராஸ்பெர்ரி பை, லினக்ஸ், OS X விண்டோஆகிய இயக்கமுறைமைகளை இதுஆதரிக்கிறது: . இதில் எழுதப்பட்ட ஒரே குறிமுறைவரிகளை கொண்டு அனைத்து ஆதரவு தளங்களிலும் செயல்படுத்த முடியும், என்பது பயன்பாடு மேம்படுத்துநர்களுக்கான மிகவும் பயனுள்ளதொரு வசதியாகும்.
இதனை பயன்படுத்தி கொள்வதற்காகவென மறைமுகமான செலவுகள் எதுவும் இல்லை. இது MIT எனும் உரிமத்துடன் கிடைக்கிறது. இது ஒரு நிலையான வரைச்சட்ட கட்டமைப்பாகும், மேலும் API இன் ஆவணங்கள் மிகவும் நல்லது. உத்தியோகபூர்வ ஆவணங்கள் வழியாகச் சென்றால் அதைத் துவங்குவது எளிது.
இது OpenGL ES2 ஐ தழுவி வரைகலை இயந்திரத்தை உருவாக்கப்பட்டுள்ளது.இதனை பல்வேறு தளங்களில் நிறுவுகைசெய்து பயன்படுத்தி கொள்ளலாம். விரிவான நிறுவுகை வழிமுறைகளை kivy.org/#download எனும் இணையதளமுகவரியில் கிடைக்கின்றன. எடுத்துக்காட்டாக, conda,ஐப் பயன்படுத்துவதாக கொள்க, பின்வரும் கட்டளையுடன் இதைநிறுவுகைச் செய்யலாம்:
$ conda install kivy -c conda-forge
அதன்பின்னர் இந்த Kivy எனும் வரைச்சட்டத்தில்முதன்முதலான “அணைவருக்கும் வணக்கம்!” எனும் பயன்பாட்டினை உருவாக்குவதற்கான படிமுறைகள் பின்வருமாறு
படிமுறை 1: பயன்பாட்டு இனத்திற்கு பெறப்பட்ட இனத்தினை உருவாக்கிடுக(Create ).
படிமுறை 2: கட்டமை (build )எனும்வழிமுறையை செயல்படுத்திடுக.
படிமுறை 3: இந்த இனத்தின் ஒரு உதாரணத்தை ( instance)உருவாக்கிடுக.
படிமுறை 4: run() எனும் செயலியை செயல்படுத்திடுக.
மேலே உள்ள படிமுறைகளை உள்ளடக்கிய மாதிரி குறிமுறைவரிகள் (அதிகாரப்பூர்வ ஆவணத்திலிருந்து) கீழே காட்டப்பட்டுள்ளது:
import kivy

kivy.require(‘1.0.6’) # இங்கு நம்முடைய kivy இன் வெளியீட்டு பதிப்புஎண்ணை பயன்படுத்திடுக.

from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):

def build(self):
return Label(text=’அணைவருக்கும் வணக்கம்!’)

if __name__ == ‘__main__’:
MyApp().run()
இதில் பின்வரும் குறிமுறைவரிகளைக் கொண்டு கூடுதல் கட்டுப்பாடுகளை சேர்க்கலாம்:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput

class LoginScreen(GridLayout):

def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.cols = 2
self.add_widget(Label(text=’User Name’))
self.username = TextInput(multiline=False)
self.add_widget(self.username)
self.add_widget(Label(text=’password’))
self.password = TextInput(password=True, multiline=False)
self.add_widget(self.password)

class MyApp(App):

def build(self):
return LoginScreen()

if __name__ == ‘__main__’:
MyApp().run()
இந்த குறிமுறைவரிகளில், இரண்டு நெடுவரிசைகளுடன் ஒரு கட்டஅமைப்பை உருவாக்கியுள்ளோம். பின்னர், உள்நுழைவுத் திரையை உருவாக்க உரை உள்ளீடு , பொருட்களின்பெயர்பட்டி ஆகியவை சேர்க்கப்படுகின்றன
இதில் கட்டமைக்கப்பட்டுள்ள பயன்பாடுகளின் தொகுப்புகள் kivy.org/doc/stable/examples/gallery.html எனும் இணையதளமுகவரியில் உள்ளன.
.2.BeeWare எனும் வரைச்சட்ட கட்டமைப்பு
இந்த வரைச்சட்ட கட்டமைப்பானது ‘குறிமுறைவரிகளை ஒருமுறைமட்டும் எழுதி எங்குவேண்டுமானாலும் எல்லா இடங்களிலும்பயன்படுத்தி கொள்க ’ என்ற கருப்பொருளின் அடிப்படையில் வெளியிடப்பட்டு செயல்படுகிறது. ’. Android , iOS ,Linux ,Windows ,MacOS , tvOS ஆகிய வெவ்வேறு தளங்களில் / சூழல்களில் வெளியிடக்கூடிய பைத்தானில் பயன்பாடுகளை உருவாக்குவதற்கு இது உதவுகிறது:இயற்கையில் வளமான சொந்த பயனாளர் இடைமுகங்களின் மேம்பாட்டினை இயக்குவதே இதனுடைய முதன்மை நோக்கமாகும், மேலும் பல்வேறு வகையான சாதனங்களில் உருவாக்கவும் வரிசைப்படுத்தவும் எளிதானது. பைதான் செயல்திட்டத்தை பல்வேறு வகையான சாதனங்களில் செயல்படுத்தக்கூடிய வகையில் தொகுத்து இயக்குவதற்கு தேவையான கருவிகளை உருவாக்குவதே இந்த செயல்திட்டத்தின் முக்கிய குறிக்கோளாகும்:
இந்த சாதனங்களின் சொந்த திறன்கள் பொருட்களை அணுக நூலகங்களை வழங்குதல்,செயல் திட்டங்களின் மேம்படுத்துதல், பிழைதிருத்தம் , பகுப்பாய்வு ஆகியவற்றை எளிதாக்கும் கருவிகளை வழங்குதல். ஆகியவை இதன் முதன்மை பயன்பாைடுகளாகும் இதனை பயன்படுத்துவதன் முதன்மை பயன் என்னவென்றால், இது theme அடிப்படையிலான அணுகுமுறைக்கு மாறாக சொந்த பொருட்களையும் சொந்த செயல்பாட்டையும் பயன்படுத்துகிறது.
இது பைத்தானில் குறுக்கு-தள சொந்த வரைகலை பயனாளர்இடைமுக(GUI) பயன்பாடுகளை உருவாக்க ஒன்றிணைந்து செயல்படும் கருவிகளின் நூலகங்களின் தொகுப்பாகும். இது பின்வருவனவற்றை உள்ளடக்கியது:
• Toga:பல்வேறு தளங்களில் ஆதரிக்கப்படும் ஒரு கருவியின்பொருள்தொகுதி.
• Briefcase:பைதான் செயல்திட்டங்களின் கட்டுகளை இயக்கும் கருவி.
• Rubicon ObjC: பைதான் குறிமுறைவரிகளிலிருந்து Objective C நூலகங்களுடன் பணிபுரியும் நூலகம். இது iOS , MacOS ஆகியவற்றில் பயனுள்ளதாக இருக்கும்.
• Rubicon Java: : பைதான் குறிமுறைவரிகளிலிருந்து ஜாவாவுடன் பணிபுரியும் நூலகம்.
இந்த கருவிகள் தனித்தனியாக அல்லது தொகுப்பாக பயன்படுத்திகொள்ளலாம். முதல் கட்டமாக Briefcase நிறுவுகை செய்திட வேண்டும், இதனை பின்வரும் கட்டளைவரியுடன் செயற்படுத்திடலாம்:
$ python -m pip install briefcase
Briefcase ஐ வெற்றிகரமாக நிறுவுகைசெய்தபிறகு, பின்வரும் கட்டளைவரியுடன் முதன்முதலான பயன்பாட்டை உருவாக்கலாம்:
1 $ briefcase new
அதனை தொடர்ந்து பின்வரும் விவரங்களை உள்ளிடுமாறு Briefcase கோரும்:
முறையான பெயர்: இயல்புநிலை மதிப்பை ஏற்கலாம் (அணைவருக்கும் வணக்கம்!)
பயன்பாட்டின் பெயர்: இயல்புநிலை மதிப்பை ஏற்கலாம் (அணைவருக்கும் வணக்கம்!)
கட்டுகள்(Bundle ) , செயல்திட்டத்தின் பெயர், பயன்பாட்டின் விளக்கவுரை , உருவாக்கியவரின் பெயர், உருவாக்கியவரின் மின்னஞ்சல் முகவரி, பயன்பாடுகிடைக்கும் இணையமுகவரி(URL): பயன்பாட்டின் பதிவிறக்கம் செய்திடும் பக்கம், பயன்பாட்டின் உரிமத்தன்மை,
வரைகலை இடைமுகம்(GUI) வரைச்சட்டகட்டமைப்பு: இங்கே, முன்னிருப்பு வாய்ப்பு Toga ஆகும், இது முன்பே விளக்கப்பட்டபடி BeeWare’இன்வரைகலை இடைமுகம்(GUI) கருவித்தொகுப்பாகும்.
வழங்கப்பட்ட மதிப்புகளின் அடிப்படையில், செயல்திட்டத்தின் எலும்புக்கூடுமட்டும் உருவாக்கப்பட்டுள்ளது,
பின்வரும் கட்டளைவரிகளுடன் மேம்படுத்துநர் நடைமுறைபயன்பாட்டில் இந்த பயன்பாட்டை இயக்கலாம்:
$ cd அணைவருக்கும் வணக்கம்!
(beeware-venv) $ briefcase dev

[அணைவருக்கும் வணக்கம்!] Installing dependencies…

[அணைவருக்கும் வணக்கம்!] Starting in dev mode…
பயன்பாடுகளைத் தனிப்பயனாக்குவதற்கும் வரிசைப்படுத்துவதற்குமான பயிற்சிகள் docs.beeware.org/en/latest/index.html எனும் இணையதளமுகவரியிலுள்ள அதிகாரப்பூர்வ ஆவணத்தில் கிடைக்கின்றன.
Kivy , BeeWare ஆகிய இரண்டிற்கும் இடையேயான வேறுபாடுகள்
இந்த கட்டுரையில் இதுவரை, குறுக்கு-தள பயன்பாடுகளை உருவாக்க இரண்டு பைதான் அடிப்படையிலான கருவிகள் அறிமுகப்படுத்தப்பட்டுள்ளன – . இப்போது அவற்றை ஒப்பிடுவோம்.
இவ்விரண்டிற்கும் இடையிலான மிக முக்கியமான வேறுபாடு பொருட்கள் / கட்டுப்பாடுகள் வழங்கப்படும் விதம். பொருட்களை வழங்குவதில் Kivy அதன் சொந்த பாணியில் வழங்குகிறது, எனவே அவை பூர்வீகமாகத் தெரியவில்லை. இருப்பினும், தளங்களில், பயன்பாடுகள் சீரானவை. அதற்குபதிலாக, BeeWareஇல் பயனாளரின் சொந்த இடைமுகத்தைப் பயன்படுத்துகிறது, எனவே பொருட்கள் / கட்டுப்பாடுகள் அவை இயங்கும் அந்தந்த தளங்களின் சொந்தமான பாணியை பின்பற்றுகின்றன.Toga , Briefcase போன்ற சிறப்புக் கருவிகளை BeeWare வழங்குகிறது, அவை ஒரு குறிப்பிட்ட பணியைமட்டும் செய்கின்றன, அதற்காக அவை திறமையான முறையில் உருவாக்கப்படுகின்றன.
2011 முதல் Kivy கிடைக்கிறது, அதே சமயம் BeeWare மிகச் சமீபத்தியது. பிந்தையது இன்னும் மேம்படுத்தப்பட்டு வருகிறது மேலும் பைத்தானில் சொந்த பயன்பாடுகளை உருவாக்குவதற்கான கருவியாக மாறுவதில் பெரும் ஆற்றலைக் கொண்டுள்ளது.இவ்விரண்டும் பைத்தானில் குறுக்கு-தள பயன்பாட்டை உருவாக்குகின்றன. பயன்பாட்டின் தன்மையின் அடிப்படையில், இந்த கருவிகளில் ஒன்றைத் தேர்ந்தெடுக்கலாம். பைதான் மேம்படுத்துநராக இருந்தால், இவ்விரண்டு குறுக்கு-தள பயன்பாட்டு மேம்பாட்டின் உணர்வைப் பெற முயற்சித்திடுக. வரவிருக்கும் ஆண்டுகளில், இந்த கருவிகள் மேலும் மேம்படுத்தப்பட்டு பைத்தான் அடிப்படையிலான குறுக்கு-தள மேம்பாட்டை எளிமையாகவும் பயனுள்ளதாகவும் மாற்றும் என்று எதிர்பார்க்கலாம்.

%d bloggers like this: