Semantic Web: The Next Step of World Wide Web

In 1989 Tim-Berners-Lee invented the internet as we know it today and the fundamental building block for this framework is the hyperlink. With the use of hyperlinks, different documents are connected and any document on the web can be identified with that link. This is also known as Web 1.0 (Web of Documents) and its main goal was to exchange information between different machines together on an interconnected network.

The Semantic Web is a collaborative effort led by the World Wide Web Consortium (W3C). Semantic Web which is also called Web 3.0 or web of data links to a specific piece of information contained in that document or application. The semantic web is also modular and dynamic because if the information is ever updated, users can automatically take advantage of any updates. Scalability is an essential requirement of the semantic web as well. In the semantic web, we go beyond the documents and we go towards the lower (data) level.

Some of the main underpinnings of The Semantic Web are as follows:

  • Building models: the quest for describing the world in abstract terms to allow for an easier understanding of a complex reality.
  • Computing with knowledge: the endeavor of constructing reasoning machines that can draw meaningful conclusions from encoded knowledge.
  • Exchanging information: the transmission of complex information resources among computers that allows us to distribute, interlink, and reconcile knowledge on a global scale.

Linked Data is used to connect the web of data in the Semantic Web. Links are made so that a user or a computer can explore the web of data. Linked data is much more interactive, visibility, powerful and useful in retrieving, finding, and determining its relation with other data on the web.  So instead of having URLs (Links) between documents, in Semantic Web, we have URLs between facts. To present knowledge about the data in a much more organized manner. It also seamless data integration and it can bring intelligence to the system.  URIs consists of two entities: URL (Uniform Resource Locator) and URN (Uniform Resource Name).

The Basic Structure of The Semantic Web

To implement these URIs we need Resource Description Frameworks (RDFs). RDF is a standard model for data interchange on the Web. It is a framework or a data model for describing resources. RDFs are the formal language to describe the information in the Semantic Web. The goal of RDF is to enable applications to exchange data on the Web while still preserving their original meaning. RDFs comprise  triples. A triple gives a unique identifier so that we can link the data and form a relation between various other data nodes. Multiple triples connected are called Graphs.

In metadata terms, RDF and expressed in (Triples). Triples comprise of three fundamental entities:

  • Object is the resource being described by the metadata record
  • Predicate is an element in that record
  • Subject is a value assigned to that element

SPARQL (SPARQL Protocol and RDF Query Language) and OWL (Web Ontology Language) are the other two technical standards used in the Semantic Web.

Semantic the web is an extension to the World Wide Web and it has made significant strides towards making the internet more seamless, efficient, and scalable. Linked Data is very critical in making this happen. But still, Semantic is not yet adopted and many corporations and organizations are unaware of it. So the focus should be to promote wider adoption of the Semantic Web with better availability of the learning resources.

Is Iconic Framework better over Native Apps?

Is Iconic Framework better over Native Apps?

The age old question that has bogged developers, Is Iconic framework better over Native Apps. Nowadays, there are plenty of ways of having a mobile application as a final product. The most popular solution is building it as native, by using the native language of each platform. The alternative is to choose a cross-platform tool. Using native code leads to superior performance, but has the downside of having two teams to handling the product: one for the Android ecosystem and another for iOS. Cross-platform libraries rely on standard web tools like HTML, CSS, and JavaScript, providing native experiences by accessing the native features. The hybrid path has the advantage of increasing the speed of mobile development, by having just one project for both platforms and offering UX consistency across channels.

Ionic Framework is an open-source UI toolkit for building mobile and Progressive Web Apps (PWAs) apps using web technologies like HTML, CSS, and JavaScript. It provides mobile-optimized web technology-based components as well as native APIs using Capacitor and Ionic Native. It was created in 2013, by the Drifty Co. The original version was released in 2013, built on top of Angularjs and Apache Cordova.In 2019 they launched a version with support for multiple front-ends, including React.js.Today you can build an Hybrid mobile application in Ionic with Angular, React.js, Vuejs, or even with just plain JavaScript.

Now let’s take a look at its advantages:

Pros:

Has a good documentation, since it’s a company specialized in building tools that help companies and developers to make mobile applications.

These tools are well understood by web developers since it uses webview to render the application (letting the developers use day-to-day technologies like HTML, CSS, and JavaScript).

Makes it easy to port the code into a Progressive Web App (PWA), since all the code is built to run in a web browser. Ionic just requires a few extra steps to be able to have one PWA.

Although it has benefits, we can also encounter some challenges in the way, like the ones listed below:

Cons:

Since the organization behind the framework makes a living from it, besides the free-mium features, there are also premium ones that you can only use if you pay an extra cost.

Ionic is built on top of the “web browser”. The application code can’t easily access the native functionalities

With React Native, developers can build mobile applications for Android and iOS platforms using JavaScript, but they can also implement features with native code. It enables cross-platform builds by providing platform-agnostic native components that map into the platforms’ native UI building blocks. It was created in 2015 by Facebook and it is used in many of its products, as for example, the marketplace section of Facebook’s application.

Developers can also build TV applications with React Native. This means that with a few extra steps, it is possible to deliver applications for the Apple TV and Android TV.

Now, lets dive into some benefits of React Native:

Pros

Massive community around the ecosystem. Right now, there are impressive numbers on GitHub repo Facebook/react-native. This means that it’s very likely for developers to find answers to issues or problems they’re facing.

Ability to be integrated into existing native apps, like showed in this presentation. Besides that, it’s also possible to build native modules, making your mobile application’s look and feel as smooth as a native application.

React Native is translated to native code, with the benefit of achieving 60 frames per second. This gives the user the impression of a native app – not slow at all!

It allows developers to deliver applications for Apple TV and Android TV, with only a few extra steps.

Cons:

Since there’s a big private company behind it, new tools are released according to their own needs. However, the community is free to extend the desired features, to achieve what is necessary for both Android and iOS native technologies.

React Native is still beta. Yes, you read it right. Although it was created five years ago, the Facebook team still didn’t have the confidence to bump a “production” release of it. It may sound like: “be aware of the possible risks”.

This often leads to breaking changes in tools and dependencies between versions. But hey, Gmail was almost 5 years in beta and it worked pretty well.

It eventually boils down to the developers’ choice and needs. Since Ionic works with web technologies (HTML, CSS, and JavaScript) it fits well in a team that has no background in the native world.

With Ionic, you will have the capability to make great mobile applications, accessing native features like GPS, maps, or audio. These features are ready to be deployed into both Play Store and App Store, with the same effort and expertise that will require to build a web site.

React Native is easily addressed by developers with prior iOS or Android development knowledge. The learning curve for a React developer to understand and debug a React Native application is higher than with Ionic. However, React Native stands with the golden triumph of accessing the native functionalities of the mobile devices, allowing your mobile application to deliver a more native look and feel.