3

I am newbie to Angular I am going through various documents available online.
Angular.io
Range.io
Angular.io sites says that


Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop

Range.io says that

There are many front-end JavaScript frameworks to choose from today, each with its own set of trade-offs. Many people were happy with the functionality that Angular 1.x afforded them. Angular 2 improved on that functionality and made it faster, more scalable and more modern. Organizations that found value in Angular 1.x will find more value in Angular 2.

wiki defintion

Angular is a TypeScript-based open-source front-end web application platform led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS

In some places on web Angular is defined as a javascript framework and some places a platform which one is correct it's a platfrom or a framework I reffered this thread but did not clear my doubt completely could someone shed light on it?

  • 2
    It's both a framework and a platform. – VLAZ May 12 '18 at 17:13
  • In the classical sense, Angular is a framework that targets multiple platforms such as the Browser. – Aluan Haddad May 12 '18 at 17:17
  • @AluanHaddad so like Java technology is both a programming language and a platform does same holds for angular too? if yes then java has it's runtime environment what about angular? –  May 12 '18 at 17:30
  • 1
    Java has two distinct meanings in that single statement so I don't think it's a good comparison. Programs written in the Java language running on the Java Virtual Machine. – Aluan Haddad May 12 '18 at 17:33
  • 1
    @AluanHaddad - indeed, you can have a "Java application" that uses Groovy scripts (probably alongside Java code). It's still an application *running* in the JVM, even if it's not purely written in Java. – VLAZ May 12 '18 at 17:37
  • 1
    Why do you care? In other words, what are you going to do with that information once you figure out whether it's a platform or a framework? –  May 12 '18 at 18:30
  • @torazaburo I wanted to get a clear picture of what am starting with, gaining knowledge you could say, is it wrong to ask such questions on SO? –  May 12 '18 at 18:37
  • @Rajesh I would say yes, such questions are pretty much a matter of opinion, which are off-topic here. No one actually knows what the difference is between a framework and a platform (although everyone certainly has their opinions). If the question is not off-topic by virtue of being opinion-based, it's probably off-topic by virtue of being too broad. –  May 12 '18 at 18:52
  • @user9781459 Have you got the answer as if how angular can be a platform. I am practically confused to hell because of this line 'Angular is a platform and framework for building client applications in HTML and TypeScript.' in ANgular doc. please help if you have any information – Apurva Pathak Mar 14 '19 at 06:30

1 Answers1

3

It's both a platform and a framework.

When you use it for web application, you may call it a framework.

But when you use it for web, iPhone, android or any mobile, you may call it a platform. Because you know what is platform. Mobile applications are accelerating both hardware and software for its application system. A web application using angular is also considered as a platform. Because browser specific commands you can use when you develop mobile app. Suppose, you're developing an android app, then you need to test it in desktop browser. You need to accelerate it with hardware command to launch. And it's a platform.

So, when you develop mobile application using any available resources like NativeScript, Cordova, Ionic, etc. and you use angular and in that term angular is a platform.

So, the platform can be defined as a framework which can be used across multiple systems. And angular can be used in any system and it can be termed as a platform.

Bhojendra Rauniyar
  • 83,432
  • 35
  • 168
  • 231
  • I think this is basically right but, while the distinction is arguable, angular isn't directly targeting mobile devices but is rather using intermediaries like Cordova and Telerik NativeScript to do so. – Aluan Haddad May 12 '18 at 17:21
  • 1
    @AluanHaddad I agree it's correct but then again, questions about [frameworks and platoforms](https://stackoverflow.com/questions/31503886/what-is-the-difference-between-a-platform-and-a-framework) that I [found on SO](https://stackoverflow.com/questions/25028243/what-is-the-difference-between-a-framework-and-a-platform) have been closed as opinion based. I expect the same will happen here. Still, in a basic sense, if multiple official documentation mention both "framework" and "platform" it's both. – VLAZ May 12 '18 at 17:25
  • @vlaz The term "framework" is often used ambiguously. For example, the ". NET Framework" is undoubtedly a platform. I agree with you – Aluan Haddad May 12 '18 at 17:29
  • so like Java technology is both a programming language and a platform does same holds for angular too? if yes then java has it's runtime environment what about angular? –  May 12 '18 at 17:30
  • 1
    The distinction is supposedly can you TARGET something when developing an application. If yes, it's a platform. If you merely USE something to provide the structure or *frame* of your application, it's a framework. Whether or not you can consider something a "platform" will vary on opinion. E.g., "Xbox" is a hardware platform. But you can also have a software platform like "Windows". You can further refine the software platform like ".NET" or "Java" as you write your application **for** them. In the same sense you can write an app **for** Angular. IMO, at least - some may disagree. – VLAZ May 12 '18 at 17:34
  • Thank you, everyone, for your valuable feedback so the conclusion is it's both platform and framework –  May 12 '18 at 17:39
  • 1
    @Rajesh basically - yes. At some point the two become sort of interchangeable. I doubt anybody will correct you if you call Angular either of these. – VLAZ May 12 '18 at 17:41
  • It's rare that one sees such a confusing, contradictory discussion of a topic such as this. –  May 12 '18 at 18:29