ANALYSIS OF USER PREFERENCES WHEN SELECTING PLATFORMS AND TOOLS FOR THE DEVELOPMENT OF DISTRIBUTED SYSTEMS IN THE JAVA LANGUAGE

Рубрика конференции: Секция 14. Технические науки
DOI статьи: 10.32743/NetherlandsConf.2022.4.18.337220
Библиографическое описание
Shtark V.A., Akhmetov B.S. ANALYSIS OF USER PREFERENCES WHEN SELECTING PLATFORMS AND TOOLS FOR THE DEVELOPMENT OF DISTRIBUTED SYSTEMS IN THE JAVA LANGUAGE// Proceedings of the XVIII International Multidisciplinary Conference «Innovations and Tendencies of State-of-Art Science». Mijnbestseller Nederland, Rotterdam, Nederland. 2022. DOI:10.32743/NetherlandsConf.2022.4.18.337220

ANALYSIS OF USER PREFERENCES WHEN SELECTING PLATFORMS AND TOOLS FOR THE DEVELOPMENT OF DISTRIBUTED SYSTEMS IN THE JAVA LANGUAGE

Vladislav Shtark

Undergraduate, Turan University,

Kazakhstan, Almaty

Bakhytzhan Akhmetov

Doctor of Technical Sciences, Professor, Turan University,

 Kazakhstan, Almaty

 

Every day a person chooses more and more convenient things for his life to get the maximum convenience and comfort of his life. Modern specialists in the field of information technology are trying to help humanity as much as possible and give a product with which it will be possible to solve a huge number of problems in various areas of human life and existence. This product should be user-friendly, have high performance and low response time.

However, as the modern market shows, in both cases, distributed architecture is increasingly being used in application development. Using a distributed architecture, developers immediately solve several problems, such as fault tolerance, performance, portability, testability. Such developments are becoming more popular among modern companies that are willing to spend money on a product that can simplify or optimize existing processes, and further expand their functionality without sacrificing performance.

The main problem for a young developer in the current realities is the lack of a unified system for selecting components, frameworks, libraries based on the preferences of other developers and global trends, analyzing the compatibility of technologies and their use, with which the process would be optimized.

The main idea is to develop a system for analyzing preferences when choosing platforms and tools for development, which has no analogues on the market today. Such a system would help the developer get information about how many projects use certain components, which version is popular, including even minor ones, which libraries can be useful and which are used by his colleagues from all over the world with similar tasks, in the future the system could help the developer in an in-depth study of the tools and development tools he uses.

Today, the Java programming language is one of the most common languages for creating distributed systems, and its compatibility with Kotlin gives it the best chance of being used in the modern world. At the end of 2021, there were 184,861 commercial projects developed in Java, including Alibaba, ESPN, SnapDeal. Table 1 provides data on the latest versions of the frameworks, using dependency usage statistics from the maven/gradle repositories and the official sources for Java and Kotlin to choose from.

Table 1.

Data on the use of tools and platforms in the development of new projects

Tool / platform

Number of uses

Usage %

Last release date

Spring Boot

6161

36,1

March 2022

Spring MVC

4031

23,6

March 2022

JSF

496

2,9

August 2011

Struts 2

207

1,2

April 2022

GWT

1972

11,5

May 2020

Dropwizard

629

3,6

March 2022

Apache Wicket

418

2,4

March 2022

Grails

1186

6,9

March 2022

Jakarta EE

65

0,3

March 2022

 

As you can see from Table 1, the developer has a choice of over 10 large frameworks, not to mention smaller frameworks and libraries, of which there are several hundred thousand just for Java.

Table 2.

 Java programming language version data

Version

Release date

End of support

End year of LTS

JDK 1.0

1996 (January)

 

 

JDK 1.1

1997 (February)

 

 

J2SE 1.2

1998 (December)

 

 

J2SE 1.3

2000 (May)

 

 

J2SE 1.4

2002 (February)

2008 (October)

2013 (February)

J2SE 5.0

2004 (September)

2009 (November)

2015 (April)

Java SE 6

2006 (December)

2013 (April)

2018 (December)

Java SE 7

2011 (July)

2015 (April)

2022 (July)

Java SE 8 (LTS)

2014 (March)

2019 (January)

2025 (March)

Java SE 9

2017 (September)

2018 (March)

 

Java SE 10

2018 (March)

2018 (September)

 

Java SE 11 (LTS)

2018 (September)

2022 (September)

2026 (September)

Java SE 12

2019 (March)

2019 (September)

 

Java SE 13

2019 (September)

2020 (March)

 

Java SE 14

2020 (March)

2020 (September)

 

Java SE 15

2020 (September)

March 2021

 

Java SE 16

2021 (March)

September 2021

 

Java SE 17

2021 (September)

September 2030

 

 

User preference is the conscious or unconscious recognition of an advantage in making a choice by the user. User preferences are made up of previous experience, the experience of acquaintances, reviews. Groups of people with similar preferences and interest in a particular product or product form a target group, to identify which various methods are used to identify target groups and analyze user preferences.

 

Figure 1. Data on the use of tools and platforms in the development of new projects

 

On average, each developing product releases an updated version once a quarter or more often, and a new version is released every 12 months. Products with very different release schedules experience a churn of new users. As for Java itself, new releases after Java SE 9 also happen every 6-7 months. But in addition to the new release and new features, you should not lose sight of the availability of versions with long-term support and updates (LTS). To date, there are only two versions with long-term support without sacrificing functionality and features, these are java 8 and java 11. At the same time, despite the name, the younger version - java 8, which was released back in March 2014, has support until December 2030. But a newer version, java 11, will only be supported until September 2026 or 2027, this issue has not yet been finally resolved. In September, the last 17 version of java was released today, which should become a new version with long-term support, now it is already known that the end of free support is scheduled for September 2030, the end of support for the LTS version is still unknown. If we talk about commercial development, then the issue of long-term support for the version of the language itself should be a priority, since it may suddenly turn out that you can no longer find either software or developers to refine and support the product you have developed, and new updates in functionality, security and many others are no longer in production.

Conclusion

The growth in the pace of development in the modern world requires the developer to create high-quality products using fault-tolerant, productive, resource-efficient development tools. And this, in turn, is a daily choice of development tools that should help the developer in his work. The presence of a system for analyzing preferences when choosing platforms and tools for development should simplify the life of a developer and give an increase in his productivity, which will undoubtedly affect the future quality and speed of developing new products.

 

References:

  1. https://mvnrepository.com/artifact
  2. https://www.predictiveanalyticstoday.com/top-java-web-framework-software
  3. https://habr.com/ru/company/yandex/blog/223121
  4. https://www.ibm.com/support/knowledgecenter/ru/SS88XH_1.6.1/iva