Thursday, August 23, 2018

ტექნოლოგიური ევოლუცია - პოსტ-XAF

ჩვენს მიერ შექმნილი ღირებულება დიდი ხნის განმავლობაში იყო ასეთი:
  • ჩვენ ვაკეთებთ კომპლექსური ბიზნეს პროცესების სწრაფ მოდელირებას და იმპლემენტაციას
  • ამისათვის, ვიყენებდით ტექნოლოგიურ პლატფორმას (eXpressAppFramework - შემდგომში "პლატფორმა"), რომელიც იძლევა საშუალებას, მოკლე დროში შექმნა ძალიან შთამბეჭდავი სისტემა და მარტივად მოახდინო მისი ადაპტირება ბიზნეს მოთხოვნებზე
  • დამწყები პროგრამისტისთვის შედარებით მარტივია გახდეს პროდუქტიული პლატფორმაზე
რატომ XAF-ი, მაგალითისთვის, იხილეთ აქ: https://www.devexpress.com/AboutUs/Testimonials/M5

დროთა განმავლობაში თავი იჩინა პლატფორმის შეზღუდვებმა, როგორებიც არის:
  • რთულია გამოცდილი პროგრამისტის მოძიება, რომელსაც ექნება სურვილი იმუშაოს ასეთ ტექნოლოგიაზე. რატომ - იმიტომ, რომ სურს საქმის ახალ, ტრენდულ ტექნოლოგიებზე კეთება
  • პლატფორმის ღირებულება იკარგება და დაბრკოლებას ქმნის, თუ გიწევს default ფუნქციონალის გადაკეთება. ეს განსაკუთრებით მკაფიოდ ჩანს WEB აპლიკაციებში.
  • front-end არ იძლევა სრული მოდიფიკაციის საშუალებას
  • WEB აპლიკაციაში ხდება ხშირი POSTBACK -ები, რაც გამაღიზიანებელია მომხმარებლისთვის
  • "ხელით" შექმნილ ანალოგთან შედარებით პლატფორმის აპლიკაცია:
    • საგრძნობლად ნელია
    • სჭირდება რამდენჯერმე მეტი სერვერული რესურსი
    • ამის გამო, დიდი რაოდენობის მომხმარებლების დამატება სისტემაში არაეფექტურია
დავიწყეთ ალტერნატიული გადაწყვეტილებების ძიება, რომლებიც მოგვცემს საშუალებას, შევინარჩუნოთ ბიზნეს აღრიცხვის სისტემის შექმნისას არსებული ბენეფიტები, როგორებიცაა:
  • დომენის სწრაფი მოდელირება და ექსპერიმენტირება
  • კომპლექსური CRUD აპლიკაციის მარტივად შექმნა
  • VIEW -ების გენერირება კონვენციის (ატრიბუტების, მოდელის) მიხედვით
  • იქნება C#-ზე დაფუძნებული (როგორც არის XAF)
  • იქნება ოპტიმიზირებული web-ისთვის / mobile-ისთვის
  • ექნება მხარდაჭერა თანამედროვე ტექნოლოგიების და ტრენდების - MVC, TypeScript/JavaScript, Bootstrap, CSS, etc.
ვცადეთ MVC / Razor Pages ტექნოლოგიის გამოყენება, მაგრამ წავაწყდით საკითხებს, რომლების მოგვარებაც არარეპლიცირებად ტექნოლოგიურ გადაწყვეტილებებს მოითხოვს

შემდეგ მივაგენით ორ პოტენციურ ტექნოლოგიურ კანდიდატს:
  • https://aspnetzero.com
    • ASP.NET Zero is a starting point for new web applications with a modern UI and solid architecture. It saves your time by providing pre-built and working pages and a strong infrastructure.
  • https://serenity.is
    • A platform you can rely on to build line-of-business applications in time that it takes to prototype them...                          
ამ ეტაპზე განვიხილავთ ამ ტექნოლოგიების მიზანშეწონილობას ჩვენი მიზნებისთვის და ზოგადად ვფიქრობთ, რა ტექნოლოგიური სთექით გავაგრძელოთ ჩვენი ღირებულების შექმნა.

თუ გაქვთ რჩევა ან კითხვა, გთხოვთ..

2 comments:

  1. XAP არ გამომიყენებია, მაგრამ კომპონენტებთან მაქვს შეხება და ძაან მძიმეა. კი, ბევრ რამეს ამარტივებს, მაგრამ ჩემი აზრით, არაეფექტური გამოდის მაგის გამოყენება.

    სხვა მსგავსი ტექნოლოგიის გამოყენების იდეაც დიდად არ მომწონს.

    მიზეზები:
    1) ვებ-დეველოპმენტი ძაან სწრაფად ვითარდება, განსაკუთრებით front-end. ხოდა მგონია რომ 5 წლის მერე ახალ პლატფორმებშიც იქნება ისეთი პრობლემები, რომ კიდევ ახალი პლატფორმის ძებნა გახდება საჭირო.
    თუ აპირებ, რომ ეს პლატფორმა გამოიყენო მხოლოდ 2-3 პროექტში მაშინ კიბატონო.

    2) დეველოპერეს დიდად არ უყვართ როცა ისეთ რამეზე უწევთ მუშაობა, რასაც სხვაგან ვერ გამოიყენებენ. დამწყებ დეველოპერებს კიდევ ეშინიათ.

    3) (ეს მეორეს გაგრძელებაა) ჩემი აზრით, თუ მაინც გადაწყვეტ მსგავსი პლატფორმის დანერგვას კომპანიაში, მაშინ გათვლა უნდა გქონდეს, რომ დეველოპერები ხშირად არ შეიცვლებიან. საშუალო დეველოპერსაც კი 5კ დოლარი აქვთ crossover toptal და ეგეთ საიტებზე. მითუემეტს .net დეველპერებზე საკმაოდ მაღალია მოთხოვნა.
    ნუ მოკლედ, თუ შეძლებ ისეთი პირობების შექმნას, რომ დეველოპერი სამ წელზე მეტხანს გაჩერდეს ხო კაი. თუ არადა, სისტემა ისე უნდა გქონდეს აწყობილი, რომ დეველოპერი 1 წელი თუ გაჩერდა, მაქსიმალურად გამოიყენო. ეგ კიდე ჩემი აზრით ცალკე მეცნიერებაა და ყველას არ შეუძლია :დ (რის გამოყენებას გირჩევ ბოლოში დავწერ).

    4) (ეს პუნქტი მთლად ადეკვატური არ მგონია :დ)
    მსგავს ლატფორმას როცა იყენებ გატეხლი ვერსია არამგონია კარგი იყოს. საპორტის და პრემიუმ ქომუნითის ბენეფიტებს კარგავ. კიდე შეიძლება რაღაც პრობლემეს გადააწყდე გატეხილი ვერსიის ამოყენებისას,

    რის გამოყენებას გირჩევ:
    მე, პირადად, პატარა crud აპლიკაციის დროსაც კი ყველაზე დიდ დროს მაკარგვინებს front-end.
    ამიტომ, ყველაზე "ოპტომალურად" ვუშაობ, როცა მე ვწერ back-end-ს და სხვა წერს front-ს. ასე რომ დაყო საიტი ყველაზე კაია SPA (თან ალბთ SEO და მსგავსი თემები არ გაინტერესებთ DoSo-ში).
    პროსტა CRUD-ის გაკეთება თუ მინდა მოდელს ვაკეთებ და კონტროლერს თვითონ visual studio აგენერირებს.
    Front-end-ს რაც შეეხება გირჩევ Vue.js-ის გამოყენებას. ყველაზე ადვილად ალღოს მაგას აუღებენ დამწყები დეველოპერები. მითუმეტეს angular-ზე ან react-ზე თუ აქვთ გამოცდილება. front-end-ს და back-end-ს ძაან ხშირად რო არ მოუწიოთ კომუნიკაცია და ერთმანეთზე არ იყვნენ დამოკიდებულები, ძალიან კარგი თულია swagger.
    საბოლოო ჯამში მიიღებ იმას, რომ დეველოპერის წასვლა მტკივნმეული არ იქნება. აღარ მოგიწევს ასწავლო მზა პლატფორმა ახალ დეველოპერს. თან javascript ან .Net დეველოეპრს უფრო ადვილად იშოვნი, ვიდრე Fullstack დეველოპერს, რომელსაც მაგ პლატორმაზე მუშაობის სურილი ექნება.

    ReplyDelete
    Replies
    1. მადლობა გურამ რჩევებისთვის!

      Delete