Fördjupningsarbeten i Webbprogrammering 2017
På hösten i tredje året i programmet Webbprogrammering ges en fördjupningskurs där man tränar sig inför exjobbet. Studenterna väljer ut ett område inom webbprogrammering, fördjupar sig i det genom att göra någon form av undersökning och skriver ned resultatet i ett papper i strukturen av ett minifierat examensjobb.
Låt oss kika på de papper som studenterna gjorde under hösten 2017.
#Om kursen webtopic
Kursen går under smeknamnet webtopic och har ofta visat sig vara en uppskattad kurs. Kursen erbjuder studenten en möjlighet till träning och mental förberedelse inför exjobbet. Exjobbet som sådant är större i omfattning och kravbilden ökar betydligt på frågeställningar, metod, analys och slutligt rapport.
Kursens syfte är att studenten ges möjlighet att jobba igenom alla faser i en studie och får jobba med att skriva akademiskt.
#Papper hösten 2017
Här följer en lista på ett urval av de arbeten som gjordes hösten 2017, men länk till respektive papper.
Du kan även se ett urval av de papper som skrevs hösten 2016.
#The user interface and usability of Web Design. The importance of design in Webb Development
Av Zackarias Madsen.
Abstract: In Web development there is Front-End where the visuals of website take place and where the design comes to life. The design of a website will give a company its digital face and the customers a smile and a welcome to the company with trust and confidence. The process of getting the perfect design for the specific site is a challenge, where you want to achieve its fullest potential with usability and attractiveness to satisfy the customers demands. There are certain principles that you want to follow if you want to avoid people leaving the website and staying instead. The most important principle is the navigation of the site. Navigation is what the user will probably look and use first when they arrive on the site. The user also needs to understand what the site is about and the different pages on the site, this gives a clear purpose of the site to the user. The user also wants to be able to skim through the site fast and find they are looking for in a effective way, so the placement of elements is very important for the usability of the site.
#Web Components, A whole new web world?
Av Kevin Paulsson.
Abstract: Context: With the web development being constantly changed there is big problems with reusability and compatibility. Web components are going to change the way we develop web applications and help improve the reusability and the compatibility problems currently in the market.
Objectives: In this essay, I research what the web components are going to change regarding the way we develop and how it is going to change the future of web development. We also investigate how far current web browsers has come regarding implementation of the different parts of web components and why some may not be implemented.
Results: Web components are going to change the way we develop since they are no longer required to use external sources or APIs. The big web browsers are all working on implementing the different parts of the web components only one part is currently in dispute.
Conclusion: The conclusion of this is that web components are a big step forward in the web development world and they are going to help to improve the problems with reusability and compatibility since they are no longer relaying on external sources. Since many big web browsers are already working hard to implement or has already implemented the four main parts of web components they will be used soon.
#Security Threats in a RESTful API, The Confusing World of Keys
Av Oscar Lifh.
Abstract: Context. With the huge growth of popularity within client side programming, RESTful API’s popularity grows with it. Security within a RESTful API is of huge importance to secure the API from uninvited guests. What techniques are frequently used to secure API’s, and why?
Objectives. In this study, we investigate which techniques of API security that is used frequently today and consider some examples of distributed systems and how they work with security. Including some articles discussing the important requirements of error handling, access control and format checking.
Results. We address principles for handling errors with HTTP status codes and the main methods of protection against interception by “bad users” and misuse by “good users”. This results in a list of principles regarding HTTP status codes, access control and format checking.
Conclusions. We conclude that many well distributed systems are using similar techniques to address the security issue of RESTful APIs. Yet there is no specific standard defined for API security, which leads to a lot of confusion. From these well distributed systems we take knowledge and addresses the techniques and why we need the techniques provided.
#User security in a PHP-driven website, How should you properly do it?
Av Jonathan Sundqvist.
Abstract: User security (or just general website security) is an important part of any website. If not properly implemented it could have serious repercussions if any sensitive information were to leak.
In this report we investigate some common fault factors as well as common key areas for a website and how to implement security for them so as to increase the security of the website and the users.
Three main areas are found and discussed as well as several sub-areas and an explanation for the main and sub areas is constructed.
We conclude that there is a surprising amount of information available for solving these various problems. We also conclude how to implement protections of several key areas and that, given how easy it was to access this information it’s surprising how many websites don’t have the protections in place. Moreover, we conclude that there is a need for further, more detailed and advanced research into this topic as well, to cover several other points not covered by this report.
#JavaScript Frameworks, A Comparison Of Titans
Av Philip Esmailzade.
Abstract: There are several JavaScript frameworks to choose from, but which one is the right one? This essay researches three of the biggest JavaScript frameworks right now; Angular, React and Vue.js. Focus is on analyzing the frameworks installation process, structure, syntax and documentation while answering questions with conclusions drawn from that information. While Vue was declared best in performance, no framework came out as a clear winner. With different strengths and weaknesses in some situations, all three frameworks have their purpose in the JavaScript ecosystem. Depending on the users experience, time and needs a personal choice has to be made in the end.
#Blockchains, The good and the bad
Av Gustav Elmgren.
Abstract: A blockchain is simply put a distributed database of digital events or transactions which also contains all past transactions and events that have been verified by the majority of the participants. Blockchain is unique in some ways, because there is no need for third party verifications.
One of the primary purposes of a blockchain is the possibility to be decentralized. Blockchain technology took off in late 2008 when Bitcoin released the white paper “Bitcoin: A Peer-to-Peer Electronic Cash System.” The first transaction was made in January 2009.
This paper will describe how a blockchain works from mainly a Bitcoin, the digital currency, perspective. We’ll talk about blocks and transactions to get a better understanding of how the blockchain work and what possibilities there are. We will also look into if the technology as of today has any drawbacks and how it affects the current state of technology. At last, we’ll look into some current challenges and benefits that blockchains face.
#Pros and cons of Front-end JavaScript Frameworks
Av Dennis Skoko.
Abstract: JavaScript, the scripting language for web browsers is so advanced that web server can send the all of the resources needed for the web application to the user. When the user then navigates or interacts with the application, the data is then fetched from the server and injected into the application without reloading the page or the application. This is called SPA short for single-page applications. This will reduce the load on web servers with high traffic by avoiding transferring the same resources to the users.
But developing single-page applications is not always easy. So developers created several frameworks that would let other developers create web applications with ease. But when solving problems, new ones are introduced.
Every time some technology is introduced, developers needs to find out what are the strengths and weaknesses of that technology. To find out, the problems that has been solved and are unsolved will be investigated and listed. The features, benefits and drawback of the technology will be filtered to only answer how it benefits both the users and developers.
#PHP versus humanity
Av Aleh Talstoi.
Abstract: The aim of this study is to research why PHP is getting so much of negative feedback from experienced programmers and what makes people to still stick with it after so many years of web-development. Many people do leave negative reviews of PHP and tells their opinions about other languages, telling us that those are much better alternatives.
Non less focus of this research was also to help new web-developers to make the right choice early in their carrier. Many people study PHP at universities and fall in love with it because it is pretty easy to use all over globe. Is that worth to keep studying it? Or is it best time to stop so early and focus on different language that many people rate as a better version?
To achieve this I was reading many articles and opinions about PHP as well as articles that explain good/bad sides of both PHP and other alternative languages such as Java, ASP, Ruby and CGI/Perl. Those researches gave me a clear vision of that every single language I compared PHP with and PHP itself have its own usages which means you can’t decide if PHP is bad or good that easily. I understood at the end that every language I brought up could work best in specific project with a specific team of developers working on it.
In conclusion I can say that Programmers who started to learn PHP do not have to be afraid. PHP is a good beginner language which will not hurt if you learn it. Especially when it is so easy to learn and have many usages. For more advanced developers I can say that they have to try both PHP and the alternative they wonder about to decide themselves which language they are most comfortable with and which does fit better into their project and team. Yes, PHP has some deep problems of language construction but so does many other languages. And in my opinion PHP is worth learning.
#Web technologies for cross-platform desktop applications – a feasible option?
Av Petrus Lidholm.
Abstract: Traditionally, desktop GUI applications have been built using languages and frameworks more commonly associated with desktop platforms, such as Qt, a framework for building cross-platform applications on C++; Swing and the more recent JavaFX, which are Java counterparts; and Tkinter for Python. But recent years have seen the release of tools like Electron and NW.js for building desktop applications using web technologies such as HTML, CSS, and JavaScript. Seeing as vast numbers of developers are familiar with these technologies, there is reason to investigate these new tools and and out what the benefits and disadvantages of using them are and see if it is feasible to use them.
To answer this we first need to investigate what using these tools will mean for the performance, functionality, source protection and front-end of a potential application.
We find that, compared to C++ and Java, Node.js is a slow performer. Node.js has support for C++ through something called addons, and therefore should be as capable as C++ is. Source protection is possible if using NW.js. And finally, front-end using web technologies has some benefits over the way it is done in Qt and JavaFX.
We conclude that using web technologies is a feasible option, but whether or not it is appropriate it depends on what kind of application you want to make and which of these technologies you are experienced in.
#Hybrid technology in mobile applications, Different ways of developing mobile applications
Av Eric Nilsson, David Andersson.
Abstract: In this paper we shall introduce our readers for “Hybrid application” , what it is, how it work and also how it can be used. We will explain the term and give a fundamental ground for our readers how they can get started in a more simple hybrid project. We will also write about “native application” and “web application” to have some data to compare to, HTML 5 is also being written about in this paper since it ́s the technology that made “hybrid application” possible. Our goal is to catch the reader’s interest for this fairly new technique and give a deeper insight in what hybrid application means, give a hunch about which project the technique is applicable in and also less applicable. Hopefully we inspire our readers to begin develop hybrid applications or at least get them to open their eyes for it.
#Revision history
- 2018-01-15: (A, mos) Publicerad.