ஒரு ComboBox ஏன் போதுமானதாக இல்லை

நீங்கள் வணிகச் செயலிகளை (business applications) உருவாக்குகிறீர்கள். நீங்கள் மீண்டும் மீண்டும் ஒரே மாதிரியான சிக்கல்களுக்குத் தீர்வு காண்கிறீர்கள்.

நீங்கள் வாடிக்கையாளர் தேடல்களை உருவாக்குகிறீர்கள். நீங்கள் தயாரிப்பு ஆட்டோ-கம்ப்ளீட் (autocomplete) புலங்களை உருவாக்குகிறீர்கள். நீங்கள் தெரிவு செய்யும் பாப்-அப்களை (selection popups) உருவாக்குகிறீர்கள்.

பெரும்பாலான UI நூலகங்கள் (libraries) இவற்றைத் தனித்தனி விட்ஜெட்டுகள் (widgets) என்று கருதுகின்றன. அவை இவற்றை லுக்அப்கள் (lookups) அல்லது ஆட்டோ-கம்ப்ளீட் பெட்டிகள் என்று அழைக்கின்றன. இது ஒரு தவறு.

இவை வெவ்வேறு சிக்கல்கள் அல்ல. இவை ஒரே சிக்கல். இந்த கருத்தை நான் 'Locator' என்று அழைக்கிறேன்.

வணிகச் செயலிகள் குறிப்புகளை (references) நம்பியிருக்கின்றன.

  • ஒரு விற்பனை ஆணை (sales order) ஒரு வாடிக்கையாளரைக் குறிக்கிறது.
  • ஒரு விலைப்பட்டியல் (invoice) ஒரு விநியோகஸ்தரைக் குறிக்கிறது.
  • ஒரு பரிவர்த்தனை (transaction) ஒரு தயாரிப்பைக் குறிக்கிறது.

தரவுத்தளங்கள் (Databases) இவற்றை ஐடிக்களாக (IDs) சேமிக்கின்றன. பயனர்கள் ஐடிக்களில் சிந்திப்பதில்லை. பயனர்கள் பெயர்கள், குறியீடுகள் அல்லது பார்கோடுகளைக் கொண்டுதான் சிந்திக்கிறார்கள்.

உண்மையான சிக்கல் நீங்கள் ஒரு ஐடியை எப்படிச் சேமிக்கிறீர்கள் என்பது அல்ல. ஒரு பயனர் தனக்குத் தெரிந்தவற்றைப் பயன்படுத்தி சரியான உருப்படியை (entity) எப்படித் தேடிக் கண்டுபிடிக்கிறார் என்பதே சிக்கல்.

ஒரு ComboBox சிறிய பட்டியல்களுக்குச் செயல்படும். நாடுகளையோ அல்லது நாணயங்களையோ தேட இதைப் பயன்படுத்தலாம். இத்தகைய பட்டியல்களில் சில டஜன் வரிசைகள் மட்டுமே இருக்கும்.

பெரிய தரவுத் தொகுப்புகளுக்கு (datasets) ஒரு ComboBox தோல்வியடையும். 1,00,000 வாடிக்கையாளர்களில் நீங்கள் ஸ்க்ரோல் (scroll) செய்ய முடியாது. இந்த அளவில், நீங்கள் ஒரு பட்டியலிலிருந்து ஒன்றைத் தேர்ந்தெடுக்கவில்லை; மாறாக ஒரு பதிவைக் (record) கண்டறிகிறீர்கள்.

ஒரு Locator என்பது ஒரு UI கட்டுப்பாடு (control) அல்ல. அது ஒரு செயல்பாடு (behavior).

ஒரு Locator ஒரு மதிப்பைத் தருவதை விட மேலானது. அது ஒரு வணிகக் குறிப்பைத் தீர்க்கிறது (resolves).

ஒரு பயனர் ஒரு தயாரிப்பைத் தேர்ந்தெடுக்கும்போது, அந்தச் செயலிக்கு வெறும் ProductId மட்டும் போதாது. அதற்கு அதன் அலகு விலை (unit price), VAT விகிதம் மற்றும் அளவிடும் அலகு (unit of measure) ஆகியவையும் தேவைப்படும்.

ஒரு Locator ஒரு குறிப்பிட்ட சூழலுக்குள் (context) அந்தத் தொடர்பைத் தீர்ப்பதன் மூலம் இவை அனைத்தையும் வழங்குகிறது.

UI மாறலாம்:

  • டெஸ்க்டாப்பில், இது தேடக்கூடிய இரண்டு புலங்களாகத் தோன்றும்.
  • ஒரு கிரிடில் (grid), இது ஒரு தனிப்பயன் எடிட்டராகத் (custom editor) தோன்றும்.
  • மொபைலில், இது ஒரு தேடல் திரையாகத் தோன்றும்.

தோற்றம் மாறலாம், ஆனால் செயல்பாடு மாறாமல் இருக்கும்.

ஒரு சிறந்த Locator பயனரை மதிக்க வேண்டும். அனுபவம் வாய்ந்த பயனர்கள் விசைப்பலகையைப் (keyboard) பயன்படுத்துவார்கள். ஒரு Locator ஒரு தனித்துவமான பொருத்தத்தைக் கண்டறிந்தால், உடனடியாகத் தேர்வை நிறைவு செய்ய வேண்டும். பல பொருத்தங்கள் இருந்தால் மட்டுமே பயனரிடம் தேர்வைச் செய்யக் கேட்க வேண்டும்.

தேடல், ஆட்டோ-கம்ப்ளீட் மற்றும் பாப்-அப்களைத் தொடர்பில்லாத விட்ஜெட்டுகள் என்று கருதுவதை நிறுத்துங்கள். வணிக மென்பொருளுக்கான ஒரு அடிப்படைத் தத்துவமாக Locator-ஐ அங்கீகரியுங்கள்.

Source: https://dev.to/tbebekis/-fundamental-concepts-of-business-applications-i-why-a-combobox-is-not-enough-pb4